C++程序设计模拟试卷(二) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内
错选、多选或未选均无 分
静态成员函数没有() A
this指针 C
指针参数 D
返回类型 答案:B 解析:(P107)静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返回类型、 形参,所以使用(P107)静态成员函数,指针可以作为形参,也具有返回值
静态成员是类具有的 属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此静态成员函数没有this 指针
静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀
由于静态成员函数在 类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函数可以直接 访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必 须通过参数传递的方式得到相应的对象,再通过对象来访问
假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数 为() A
9 答案:B 解析:(P79)a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它 分配空间,没有调用构造函数
所以共调用构造函数的次数为4
有关多态性说法不正确的是() A
C++语言的多态性分为编译时的多态性和运行时的多态性 B
编译时的多态性可通过函数重载实现 C
运行时的多态性可通过模板和虚函数实现 D
实现运行时多态性的机制称为动态多态性 答案:C 解析:(P171)多态性分为静态的和动态的
静态通过函数的重载来实现,动态是通过基类指针或 基类引用和虚函数来实现的
所以错误的是C项