问题 填空题

[程序]

#include

class A{

public:

A(char *s){cout<

A(){ };

};

class B:public A{ //L1

public:

B(char *s1,char *s2):A(s1)

{ cout<

};

class C : public A{ //L2

public:

C(char *s1,char *s2):A(s1)

{ cout<

};

class D:public B,public C{

public:

D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s1,s3)

{ cout<

};

void main(void)

{

D *ptr= new D("students","study","C++","hard");

delete ptr;

}

执行程序后共输出___(1)___行.

若分别将L1行改为;class B : virtual public A{ //L1

L2行改为:class C:virtual public A{ //L2

则执行程序后共输出___(2)___行。

答案

参考答案:(1)5(2)3

填空题
单项选择题