当前位置:首页 > 2009年全国计算机等级考试二级C++笔试试题
软件113-5班阶段测试
一、选择题:
1、下列关于类和对象的描述中,错误的是( )
A. 一个类只能有一个对象 B. 对象是类的具体实例
B. 类是对某一类对象的抽象 D. 类和对象的关系是一种数据类型与变量的关系. 2、有如下类声明: class Foo
{ int bar; };
则Foo类的成员bar是
A公有数据成员 B. 公有成员函数 C. 私有数据成员 D. 私有成员函数 3、下列有关继承和派生的叙述中,正确的是 A) 派生类不能访问基类的保护成员 B)作为虚基类的类不能被实例化
C)派生类应当向基类的构造函数传递参数 D)虚函数必须在派生类中重新实现
4、在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
A)友元函数 B)虚函数 C)构造函数 D)析构函数
5、下列关于this指针的叙述中,正确的是( ) A.任何与类相关的函数都有this指针 B.类的成员函数都有this指针 C类的友元函数都有this指针
D类的非静态成员函数都有this指针 6、下列关于虚函数的描述中,正确的是() A. 虚函数是一个static类型的成员函数. A. 虚函数是非成员函数.
B. 基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时不必加virtual说
明
D派生类中虚函数与基类中的虚函数具有不同的参数个数和类型. 7、下面对于友元函数描述正确的是
A)友元函数的实现必须在类的内部定义 B)友元函数是类的成员函数
C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员
8、下列关于运算符重载的描述中,( )是正确. A. 运算符重载可以改变操作数的个数 B. 运算符重载可以改变优先级 C. 运算符重载可以改变结合性
D. 运算符重载不可以改变语法结构 9、下列关于多态性的描述,错误的是
A)C++语言的多态性分为编译时的多态性和运行时的多态性 B)编译时的多态性可通过函数重载实现
C)运行时的多态性可通过模板和虚函数实现 D)实现运行时多态性的机制称为动态绑定 10、有如下程序: #include
public: Test() {n+=2;} ~Test() {n-=3;} static int getNum(){return n;} private: static int n; };
int Test::n=1; void main() {
Test* p=new Test; delete p;
cout<<\}
执行后的输出结果是()
A. n=0 B. n=1 C . n=2 D. n=3 11、有如下类声明:. class MyBASE { int k; public: void set(int n){k=n;} int get() const {return k;} };
class MyDERIVED:proteceed MyBASE {
protected: int j; public: void set(int m,int n) {MyBASE::set(m);j=n;} int get() const{return MyBASE::get()+j;} };
则类MyDERIVED中保护的数据成员和成员函数的个数是() A. 4 B. 3 C. 2 D. 1 12、有如下程序: #include
class A{ public: A(){cout<<\ }; class B{ public: B(){cout<<\ }; class C:public A{
B b;
public: C(){cout<<\ };
void main() {
C obj; }
执行后的输出结果是()
A. CBA B. BAC C.ACB D.ABC 13、有如下程序: #include
void main() {
DERIVED c; }
执行后的输出结果是()
A. BASE B. DERIVED C. BASEDERIVED D. DERIVEDBASE
14、 对类的构造函数和析构函数描述正确的是( ) A)构造函数可以重载,析构函数不能重载 B)构造函数不能重载,析构函数可以重载 C)构造函数可以重载,析构函数也可以重载 D)构造函数不能重载,析构函数也不能重载 15、下列的各种函数中,不属于类的成员函数的是() A.构造函数B.析构函数C. 友元函数D.拷贝构造函数
16、可以用p.a的形式访问派生类对象P的基类成员a,其中a是 A)私有继承的公有成员 B)公有继承的私有成员
C)公有继承的保护成员 D)公有继承的公有成员 17、类的析构函数的作用是
A)一般成员函数的初始化 B)类的初始化
C)对象的初始化 D)删除类创建的对象 18、下列是关于派生类声明的开始部分,其中正确的是( ) A. class virtual B :public A B. virtual class B :public A C. class B :public virtual A D. class B :public A virtual
19、在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是 A)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用
C)派生类的对象可以直接访问基类中的成员 D)派生类的对象的地址可以赋给指向基类的指针 20、下面对静态数据成员的描述中,正确的是 A)静态数据成员可以在类体内进行初始化 B)静态数据成员不可以被类的对象调用
C)静态数据成员不能受private控制符的作用 D)静态数据成员可以直接用类名调用 21、下列描述中,( )是抽象类的特性 A.可以说明虚函数
B.可以进行构造函数重载 C.可以定义友元函数 D.不能说明其对象
22、关于动态联编的下列描述中,( )是错误的 A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编调用函数操作是用指向对象的指针或引用 D.动态联编是在编译时确定操作函数的 23、有如下程序: #include
共分享92篇相关文档