下列程序时类D代码段出现编译错误,原因是【 】。 include class A { public:A(char c) 下列程序时类D代码段出现编译错误,原因是【 】。include<iostream. h>class A{public:A(char c){cout<<"A's constructor."<<c<<endl;}~A(){cout<<"A's destructor."<<endl;}};class B: virtual public A{public:B(char cb,char cd):A(cb) {cout<<"B's constructor."<<cd<<endl;}~B(){cout<<"B's destructor."<<endl;}private:char b;};class C:virtual public A{public:C(char cc, char cd):A(cc){cout<<"C's constructor. "<<cd<<endl;}~C(){cout<<"C's destructor."<<endl;}};class D:public B,public C{public:D(char cd,char ce,char cf, char cg, char ch,char ci):C(cf,cg),B(cd,ce),A(cd),aa(ch){cout<<"D's constructor."<<ci<<endl;}~D() {cout<<"D's destructor."<<endl;}private:A aa;};void main(){D ohj('a','b','c','d','e','f')}

下列程序时类D代码段出现编译错误,原因是【 】。 include class A { public:A(char c)

下列程序时类D代码段出现编译错误,原因是【 】。

include<iostream. h>

class A

{

public:

A(char c){cout<<"A's constructor."<<c<<endl;}

~A(){cout<<"A's destructor."<<endl;}

};

class B: virtual public A

{

public:

B(char cb,char cd):A(cb) {cout<<"B's constructor."<<cd<<endl;}

~B(){cout<<"B's destructor."<<endl;}

private:

char b;

};

class C:virtual public A

{

public:

C(char cc, char cd):A(cc)

{cout<<"C's constructor. "<<cd<<endl;}

~C(){cout<<"C's destructor."<<endl;}

};

class D:public B,public C

{

public:

D(char cd,char ce,char cf, char cg, char ch,char ci)

:C(cf,cg),B(cd,ce),A(cd),aa(ch)

{cout<<"D's constructor."<<ci<<endl;}

~D() {cout<<"D's destructor."<<endl;}

private:

A aa;

};

void main()

{

D ohj('a','b','c','d','e','f')

}


相关考题:

若类A和类B的定义如下:includeclass A{int i,j;public:int geti(){return i;}};class 若类A和类B的定义如下: #include<malloc.h> class A { int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是( )。A.k=i*jB.int k;C.return i;D.void make();

下列程序段的输出结果为()。includemain(){static char a[]="language"; char*p; p=a; 下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }A.languageB.lnugC.有语法错误D.lang

下列程序段的输出结果为()。 include main() {static char a[]="language"; char*p; p= 下列程序段的输出结果为( )。#include<stdio.h>main(){ static char a[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}A.languageB.lnugC.有语法错误D.lang

若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class 若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。A.k=i*j;B.int k;C.return i;D.void make();

下列程序段的输出结果为( )。 include main() { static char a[]="language"; char *p; 下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }A.languageB.lnugC.有语法错误D.lang

下列程序编译时发现pb->f(10);语句出现错误,其原因是______。 include class Base { 下列程序编译时发现pb->f(10);语句出现错误,其原因是______。include<iostream.h>class Base{public:void f(int x){cout<<"Base:"<<x<<endl;)};class Derived:public Base{public:void f(char*str){cout<<"Derived:"<<str<<endl;}};void main(void){Derived*pd=new Derived;Pd->f(10);}

下面程序的结果是 ______。includeclass A{ public:virtual voidfun()=0{};};class 下面程序的结果是 ______。 #include<iostream.h> class A{ public: virtual void fun()=0{}; }; class B:public A{ public: void fun () {cout<< "new file" ;} }; class C: public A{ public: void fun (){cout<<"open file"<< " " } }; class D: public A{ public: void fun () {cout<< "save file\n" ;} }; void main() { A a,*p; B b; C c; D d; p=c; p->fun (); p=b; p->fun (); p=d; p->fun(); }A.new file open file save fileB.new file new file new fileC.编译出错D.open file new file save file

如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。include<iostream.h>class test{private:int hum;public:test(int);void show( );};test::test(int n){num=n;}test::show( ){cout<<num<<endl;}void main( ){test T(10):T.show( );}

阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。【C++代码】#include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout??drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}