设有类的定义如下:class A{ };class B:virtual public A{ };class C:virtual public A{ };class D:public B,public C { };则在产生类D的对象时,构造函数的执行顺序是()。
A. 类A→类B→类A→类C→类D
B. 类A→类C→类A→类B→类D
C. 类A→类B→类C→类D
D. 类A→类C→类B→类D
设有类的定义如下:class A{ };class B { };class C:public B {A t;};则在释放类C的对象时,析构函数的调用顺序是( )。
A. 类A→类B→类C
B. 类B→类A→类C
C. 类C→类A→类B
D. 类C→类B→类A
函数重载、运算符重载属于____联编,其多态性称为静态多态性,或____多态性;动态联编实现的是运行时的多态性,必须在具有继承关系的类中通过基类的指针或对象引用,以及____才能实现。
分析下列程序,写出程序运行结果。#includeusing namespace std;class A{protected:int x;public:A() { x=0; }A(int a) { x=a;}};class B:public A{int y;public:B(int a,int b):A(b){y=a;}B(int a) { y=a; }void print() { cout<