更多“请按下面注释的提示,将类B的构造函数定义补充完整。classA { int a; public: A(int aa=0){a=aa;) ”相关问题
  • 第1题:

    在下列函数原型中,可以作为类AA构造函数的是

    A.void AA(int);

    B.int AA( );

    C.AA(int)eonst;

    D.AA(int);


    正确答案:D
    解析:类的构造函数不能有返回值,也不能定义为返回空函数,或者用const修饰定义为常函数。

  • 第2题:

    根据程序中的注释将下列缺失部分补充完整。

    class A{

    char*a;

    public:

    A():a(0){}

    A(char*aa){ //把aa所指字符串复制给a所指向的存储空间

    a= 【 】 char[strlen(aa)+1];

    strcpy(a,aa);

    }

    ~A(){delete[]a;}

    }


    正确答案:new
    new 解析:本题主要考查对动态存储分配的掌握。要将字符串复制给a所指向的内存空间,需先给指针a动态分配内存空间,故使用运算符new。

  • 第3题:

    在下列函数原型中,可以作为类AA的构造函数的是 。

    A.void AA(int);

    B.int AA();

    C.~AA(int);

    D.AA(int);


    D 解析:如果作为类AA构造函数不能有返回值,排除答案A、B,而且不能是常函数,所以选择D。

  • 第4题:

    请按下面注释的提示,将类B的构造函数定义补充完整。

    C1assA

    {

    int a;

    public:

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

    };

    class B:public A {

    int b;

    A c;

    public:

    //用aa初始化基类A,用aa+1初始化类对象成员c

    B(int aa}:【 】{b=aa+2}

    };


    正确答案:A(aA)c(aa+1)或c(aa+1)A(aA)
    A(aA),c(aa+1)或c(aa+1),A(aA) 解析:本题考核派生类构造函数的定义。题中要求用明初始化基类A,用aa+1初始化类对象成员c,用的初始化列表的形式,即A(aA),c(aa+1)或c(aa+1),A(aA) 。

  • 第5题:

    在下列函数原型中,可以作为类AA构造函数的是

    A.voidAA(int);

    B.intAA();

    C.AA(int)const;

    D.AA(int);


    正确答案:D
    解析:本题考核类的构造函数。构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。所以A、B选项都不符合要求,C选项中函数AA定义为常函数,它不能更新对象的数据成员,也不符合要求。