问题 单项选择题

有如下程序:
#include<iostream>
using namespace std;
class Base
public:
Base(int x=0)cout<<x;

class Derived:public Base
public:
Derived(int x=0)cout<<x;
private:
Base val;

int main( )
Derived d(1);
return 0;

程序的输出结果是

A.0

B.1

C.01

D.001

答案

参考答案:D

解析: 派生对象在创建时先调用基类的构造函数,然后调用派生类的构造函数;撤销对象时,先调用派生类的构造函数,然后调用基类的构造函数。当类中出现其他类对象时,在初始化时先调用该对象的类的构造函数创建该对象。

单项选择题 A1/A2型题
单项选择题 A1/A2型题