问题 单项选择题

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

class Derived:public Base
int y;
public:
Derived(int m,int n):y(m),Base(n)tout<<m;
Derived(int m):y(m)cout<<m;

int main( )
Derived dl(3),d2(5,7);
return 0;

程序的输出结果是

A.375

B.357

C.0375

D.0357

答案

参考答案:C

解析: 对象在创建时,先调用基类的构造函数,然后调用派生类的构造函数。在调用基类的构造函数时,如果没有给基类的构造函数形参赋值,则基类的构造函数使用带默认值的参数,所以d1(3)打印03;如果给基类的构造函数形参赋有初值,则使用实参值,故d2(5,7)打印75。

单项选择题
填空题