C++语言程序设计

如果一个类是另一个类的子类型,则这个类的对象可以给另一个类的对象赋值,反之亦然。

题目

如果一个类是另一个类的子类型,则这个类的对象可以给另一个类的对象赋值,反之亦然。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列有关类和对象的叙述不正确的是( )。

A.任何一个对象都归属于一个具体的类

B.类与对象的关系和数据类型与变量的关系相似

C.类的数据成员不允许是另一个类的对象

D.一个类可以被实例化成多个对象


正确答案:C

对象是类的实例,类的成员可以是其他类的对象。那么在该类实例化的时候,必须保证其他类的对象已经生成,否则将会出现错误。 

第2题:

不可以成为类的数据成员的是______。

A、自身类的对象

B、另一个类的对象

C、自身类的指针或引用

D、其他基本数据类型


参考答案:A

第3题:

在面向对象的开发方法中,类的继承机制是( )

A. 子类不可继承超类的属性,但可以继承超类的操作和约束规则

B. 子类可以继承超类的属性,但不可以继承超类的操作和约束规则

C. 如果一个对象类中加入新对象,则它可自动地继承本对象类的全部属性、操作和约束规则

D. 超类也可以继承另一个超类的属性和操作、约束规则


正确答案:C

第4题:

下列情况中,不会调用拷贝构造函数的是( )。 A.用一个对象去初始化同一类的另一个新对象时SXB

下列情况中,不会调用拷贝构造函数的是( )。

A.用一个对象去初始化同一类的另一个新对象时

B.将类的一个对象赋值给该类的另一个对象时

C.函数的形参是类的对象,调用函数进行形参和实参结合时

D.函数的返回值是类的对象,函数执行返回调用时


正确答案:B
本题考查复制构造函数,在以下3种情况下使用:①程序中需要新建立一个对象,并用另一个对象对它初始化;②函数的参数为类的对象;③函数的返回值是类的对象。其中B选项是由赋值运算符重载实现的。

第5题:

下列有关继承和派生的叙述中,正确的是( )。

A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员

B.派生类的成员函数可以访问基类的所有成员

C.基类对象可以赋值给派生类对象

D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


正确答案:D
私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。

第6题:

下列情况中,不会调用拷贝构造函数的是( )。

A.用一个对象去初始化同一类的另一个新对象时

B.将类的一个对象赋值给该类的另一个对象时

C.函数的形参是类的对象,调用函数进行形参和实参结合时

D.函数的返回值是类的对象,函数执行返回调用时


正确答案:B
解析:拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它的一般格式:类名::类名 (const 类名&引用对象名)。当一个类的对象赋值给该类的另一个对象时,是赋值而不是创建对象,所以不会调用拷贝构造函数。

第7题:

不能作为类成员的是______。

A.自身类对象

B.自身类对象的引用

C.自身类对象的指针

D.另一个类的对象


正确答案:A
解析:类的成员可以是另一个类的对象,也可以是自身类的引用或指针。如果是自身类对象,那么,会形成嵌套定义。本题正确答案为选项A。

第8题:

下列情况中,不会调用复制构造函数的是()。

A、用一个对象去初始化同一类的另一个新对象时

B、将类的一个对象赋值给该类的另一个对象时

C、函数的形参是类的对象,调用函数用形参初始化实参时

D、函数的返回值是类的对象,函数执行返回调用时


参考答案:B

第9题:

下列不能作为类的成员的是

A.自身类对象的指针

B.自身类对象

C.数组

D.另一个类的对象


正确答案:B
解析:类的数据成员可以是任意类型,包括整型,浮点型、字符型、数组、指针和引用,也可以是类自身的指针,另一个类的对象,但不能是类自身的对象,故B项是错误的。

第10题:

不能作为类成员的是(44)。

A.自身类对象

B.自身类对象的引用

C.自身类对象的指针

D.另一个类的对象


正确答案:A
解析:类的成员可以是另外一个类的对象,面向对象中的组合就是采用组合另外一个类的对象来复用其功能。类的成员可以存储自身类对象的指针和引用,在构建一棵对象树的时候通常采用指针或引用来实现。如果一个类的成员是自身类对象,会形成嵌套定义。

更多相关问题