下列程序时类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')
}
第1题:
下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }
A.language
B.lnug
C.有语法错误
D.lang
第2题:
下面程序的结果是 ______。 #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 file
B.new file new file new file
C.编译出错
D.open file new file save file
第3题:
第4题:
下列程序编译时发现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);
}
第5题:
如下程序编译时发生错误,错误的原因是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( );
}