关于虚基类,下列描述正确的是()
A.虚基类用于解决浅复制的问题
B.虚基类用于解决访问二义性的问题
C.虚基类不能解决派生类继承得到的同一基类成员的多份拷贝问题
D.实例化对象时,所有派生类的构造函数都会调用虚基类的构造函数
- · 有4位网友选择 C,占比40%
- · 有3位网友选择 B,占比30%
- · 有2位网友选择 A,占比20%
- · 有1位网友选择 D,占比10%
A.虚基类用于解决浅复制的问题
B.虚基类用于解决访问二义性的问题
C.虚基类不能解决派生类继承得到的同一基类成员的多份拷贝问题
D.实例化对象时,所有派生类的构造函数都会调用虚基类的构造函数
A.设置虚基类的目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时,虚基类的构造函数只被调用一次
C.声明“classB:virtualpublicA”说明类B为虚基类
D.建立派生类对象时,首先调用虚基类的构造函数
A、char s[]="abc";
B、char s[3]= "abc";
C、char s[4]; s="abc";
D、char s[4]= ’abc’;
读下面的程序,写出输出结果。#include <iostream.h> class Apple{ public: Apple(){i=10;} void display(){ cout<<"apple:i="<>< <endl; } private: int i; friend pear; }; pear{ public: void print1(apple a) { a.i++; print2:a="<<A.i<<endl;}; }; void main() { Apple a; Pear p; a.display(); p.print1(a); p.print2(a); a.display(); }<br/><p class=" answer"> 参考答案: <span style="color:rgb(255, 0, 0)">答案: Apple:i=10 print1:A=11 print2:A=9 Apple:i=10 按顺序每正确写出1行输出结果,可得1分,全部正确可得4分。顺序错误的,按照相对顺序正确的结果数量给分。</span>
3、定义一个整形数集合类Set,请通过创建动态分配的整数数组(使用new运算符)存放整数值,且数组的大小要能够根据包含元素的个数动态的变化。集合中,元素的顺序无关紧要,每个元素至多出现一次。实现如下函数:(1) 构造函数创建一个空集;(2) 复制构造函数实现深复制;(3) add 函数向集合中插入一个整数; (4) 析构函数。在main函数中对上述函数进行测试。
A、Shape *s;
B、void function(Shape *s);
C、void function(Shape& s);
D、Shape s;
A、派生类的对象可以隐含转换为基类对象
B、派生类对象可以初始化基类的引用
C、派生类的指针可以用来调用派生类的成员函数
D、派生类的指针可以隐含转换为基类的指针
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!