面向对象程序设计综合练习题a(3)

2019-04-16 22:54

运算符是( B )。

A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符

C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符

4-7.在成员函数中进行双目运算符重载时,其参数表中应带有( B )个参数。

A. 0 B. 1 C. 2 D. 3

4-8.双目运算符重载为普通函数时,其参数表中应带有( C )个参数。

A. 0 B. 1 C. 2 D. 3

4-9.如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( A )。

A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(a+b)

4-10.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( C )。 A. a.operator==(b) B. b.operator==(a) C. operator==(a,b) D. operator==(b,a)

4-11.如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( D )。

A. a.operator++(1) B. operator++(a) C. operator++(a,1) D. a.operator++()

4-12.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( D )

A. 该运算符是一个单目运算符。

B. 该运算符函数有一个隐含的参数this。 C. 该运算符函数是类的成员函数。 D. 该运算符函数是类的友元函数。

4-13.关于插入运算符<<的重载,下列说法不正确的是( B )。 A. 运算符函数的返回值类型是ostream & 。 B. 重载的运算符必须定义为类的成员函数。 C. 运算符函数的第一个参数的类型是ostream & D. 运算符函数有两个参数。 4-14.C++提供了几种方法以实现不同类型间的转换。以下( C )不能用来进行不同类型数据间的转换的。 A.用隐式类型转换或显式类型转换

B.用转换构造函数

- 11 -

C.用复制构造函数 D.用类型转换函数

4-15.用类型转换函数进行类型转换,在定义类型转换函数时,以下( D )是正确的。

A.要指定函数类型,要给定函数参数

B.要指定函数类型,不用给定函数参数 C.不用指定函数类型,要给定函数参数 D.不用指定函数类型,不用给定函数参数

4-16.将运算符“+”重载,要求在进行两个负数相加时可以使用交换律,必须( A )。

A.将运算符“+”重载为友元函数

B.将运算符“+”重载为成员函数 C.将运算符“+”重载为构造函数 D.将运算符“+”重载为析构函数

5-1.继承机制的作用是( C )。

A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象

5-2.C++的继承性允许派生类继承基类的( C )。

A. 部分特性,并允许增加新的特性或重定义基类的特性 B. 部分特性,但不允许增加新的特性或重定义基类的特性 C. 所有特性,并允许增加新的特性或重定义基类的特性 D. 所有特性,但不允许增加新的特性或重定义基类的特性 5-3.下列对派生类的描述中,( D )是错误的。

A.一个派生类可以作为另一个类的基类 B.派生类至少有一个基类

C.派生类的成员除了它自己的成员外,还包含它的基类的成

D.派生类中继承的基类成员的访问权限到派生类中保持不变

5-4.派生类的对象对其基类中( A )可直接访问。

A. 公有继承的公有成员 B. 公有继承的私有成员

C. 公有继承的保护成员 D. 私有继承的公有成员

5-5.基类和派生类可以分别称为( B )。 A.“大类”和“小类” B.“父类”和“子类” C.“小类”和“大类”

- 12 -

D.“子类”和“父类”

5-6.派生类的成员函数可以直接访问基类的( B )成员。 A. 所有 B. 公有和保护 C. 保护和私有 D. 私有

5-7.派生类可以访问其基类的( D )。 A.公用成员 B.保护成员 C.私有派生 D.公用和保护成员

5-8.对于类中定义的成员,其隐含访问权限为( C )。 A.public B.ptotected C.private D.static

5-9.在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( A )方式。

A. 私有继承 B. 非私有继承 C. 保护继承 D. 公用继承

5-10. 在公用继承的情况下,基类成员在派生类中的访问权限( B )

A.受限制 B.保持不变 C.受保护 D.不受保护 5-11.对于公用继承,基类的公有和保护成员在派生类中将( D )成员。

A. 全部变成公有 B. 全部变成保护

C. 全部变成私有 D. 仍然相应保持为公有和保护

5-14.在公用继承的情况下,基类非私有成员在派生类中的访问权限( B )。

A.受限制 B.保持不变 C.受保护 D.不受保护

5-15.对于公有继承,基类中的私有成员在派生类中将 ( C )。 A. 能够直接使用成员名访问 B. 能够通过成员运算符访问

C. 仍然是基类的私有成员 D. 变为派生类的私有成员

5-16.当保护继承时,基类的( B )在派生类中成为保护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。

A. 任何成员 B.公有成员和保护成员

C. 保护成员和私有成员

- 13 -

D.私有成员

5-17.下面描述中,表达错误的是( B )。

A.公用继承时基类中的public成员在派生类中仍是public的 B.公用继承时基类中的private成员在派生类中仍是private的

C.公用继承时基类中的protected成员在派生类中仍是

protected的

D.私有继承时基类中的public成员在派生类中是private的 5-18.从一个基类派生出的各个类的对象之间( C )。 A.共享所有数据成员,每个对象还包含基类的所有属性 B.共享部分数据成员,每个对象还包含基类的所有属性

C.不共享任何数据成员,但每个对象还包含基类的所有属性 D.共享部分数据成员和函数成员

5-19.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( C )的构造函数。

A. 自己所属类、对象成员所属类、基类 B. 对象成员所属类、基类、自己所属类 C. 基类、对象成员所属类、自己所属类 D. 基类、自己所属类、对象成员所属类 5-20.假设定义了以下的类: Class A {public: int a;

viod display(); }; Class B {public: int a;

viod display(); };

Class C: Class A, Class b {public: int b;

viod show(); };

如果在main函数中定义了C类对象c1,并调用基类A的数据成员a并对其赋初值3,然后成员函数display,应使用( C )语句。 A.c1.a=3; c1.display()

- 14 -

B.c1::a=3; c1::display() C.c1.A::a=3; c1.A::display() D.c1.A->a=3; c1.A->display()

5-21.当派生类中有和基类一样名字的成员时,一般来说,( B )

A. 将产生二义性

B. 派生类的同名成员将覆盖基类的成员 C. 是不能允许的

D. 基类的同名成员将覆盖派生类的成员

5-22.C++中的虚基类机制可以保证:( D )。

A. 限定基类只通过一条路径派生出派生类 B. 允许基类通过多条路径派生出派生类,派生类也就能多次继

承该基类

C. 当一个类多次间接从基类派生以后,派生类对象能保留多份

间接基类的成员

D. 当一个类多次间接从基类派生以后,其基类只被一次继承 5-23.下列虚基类的声明中正确的是( D )。

A.class virtual B:public A B.virtual class B:public A

C.class B:public A virtual D.class B: virtual public A 5-24.若类A和类B的定义如下:

class A {

int i,j; public:

A(int m,int n):i(m),j(n){} int Geti(){return i;} };

class B:public A {

int k; public:

B(int m,int n,int u):A(m,n),k(u){} void Make(){k=i*j;} };

int main()

- 15 -


面向对象程序设计综合练习题a(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:胶带输送机双电机驱动主从控制原理和应用探讨

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: