一起答
主观

#include

using namespace std;

class A {

int a;

public:

A(int aa=0){a=aa;}

~A( ){cout<<″Destructor A!″<

};

class B: public A{

int b;

public:

B(int aa = 0,int bb = 0):A(aa){b = bb;}

~B( ){cout<<″Destructor B!″<< b<< endl;}

};

void main( ){

B x(5), y(6,7);

}

试题出自试卷《C++程序设计2009年10月真题试题及答案解析(04737)》
参考答案
查看试卷详情
相关试题
  1. 下面Shape类是一个表示形状的抽象类,Area( )为求图形面积的函数。请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。

    形状的抽象类声明如下:

    class Shape {

    public:

    virtual double Area( ) = 0;

    };

  2. #include

    using namespace std;

    class A {

    int a;

    public:

    A(int aa=0){a=aa;}

    ~A( ){cout<<″Destructor A!″<

    };

    class B: public A{

    int b;

    public:

    B(int aa = 0,int bb = 0):A(aa){b = bb;}

    ~B( ){cout<<″Destructor B!″<< b<< endl;}

    };

    void main( ){

    B x(5), y(6,7);

    }

  3. #include

    using namespace std;

    int main( ){

    int i,j;

    for(i=1;i<=4;i+=1)

    for(j=2;j<=4;j+=j){

    if(i+j<5)

    cout<<″+″;

    else

    cout<<″*″;

    }

    return 0;

    }

  4. 将下面程序补充完整,使程序运行结果为:

    C1ass A

    Class B

    程序如下:

    #include

    #include

    class A{

    public:

    virtual void GetA( ) = 0;

    };

    class B: public A{

    private:

    char str[32];

    public:

    void GetA( ){

    cout<<″Class A″<

    }

    const char * GetB( ) { __________

    }

    B(char * s){

    strcpy(str,s);

    }

    };

    void main( ){

    A * a;

    B b(″Class B″);

    a=__________;

    a->GetA( );

    cout<

    return;

    }

  5. 将下面程序补充完整,使程序可以输入学生信息并计算平均成绩。

    #include

    #include

    using namespace std;

    class Student{

    private:

    char name[255];

    int score[10];

    public:

    Student(char n[ ],int s[ ]){

    ___________;

    for(int i=0;i<10;i++){

    score[i]=s[i];

    }

    }

    void Show( ){

    int sum=0;

    for(int i=0;i<10;i++){

    _______________;

    }

    cout<<″名字:″<< name<<″,平均成绩:″<

    }

    };

    void main( ){

    char name[255];

    int score[10];

    cout<<″姓名:″;cin>>name;

    for(int i=0;i<10;i++){

    cout<<″成绩″<

    cin>>score[i];

    }

    Student s(name,score);

    s.Show( );

    }

  6. 将下面程序补充完整,使程序可以正常运行,并释放内存。

    #include

    __________

    class A {

    private:

    T * data;

    int length;

    public:

    A (int len){

    length=len;

    data=new T[len];

    }

    ~A( ){

    _________

    }

    T& operator[ ](int i){

    return data[i];

    }

    };

    int main( ){

    Aobj(2);

    obj[0]=1;

    obj[1]=2;

    cout<

    cout<

    return 0;

    }

  7. 请将下面程序补充完整,使程序可以正常打印9×9乘法口诀。

    #include

    using namespace std;

    class A {

    private:

    int a; int b;

    public:

    __________

    { a = x; b = y; }

    void set(int x,int y)

    { a = x; b = y; }

    void display( ){

    cout<

    }

    };

    int main( ){

    A a(1,1);

    for(int i=1;i<=9;i++){

    for(int j=1;__________;j++){

    a.set(j,i);

    a.display( );

    cout<<″″;

    }

    cout<

    }

    return 0;

    }

  8. 将下面程序补充完整,使程序输出结果为:

    Begin

    Welcome

    Show

    End

    程序如下:

    #include

    using namespace std;

    class A{

    public:

    __________{

    cout<<″Begin″<

    }

    void show( ){

    cout<<″Show″<

    }

    ___________{

    cout<<″End″<

    }

    };

    A object;

    int main( ){

    cout<<″Welcome″<

    object.show( );

    return 0;

    }

  9. #include

    using namespace std;

    class A{

    public:

    char name[255];

    private:

    char * getName( )

    { return name; }

    };

    class B:public A{

    public:

    B(char * n){

    strcpy ( name, n);

    }

    };

    void main( ){

    B b(″Hello!″);

    cout<<″Name:″<

    }

  10. #include

    using namespace std;

    int main ( ) {

    const int num = 20;

    int scores[num];

    for (int i=1;i<=num;i ++){

    scores[i]=i;

    }

    return 0;

    }