niusouti.com

在下列函数原型中,可以作为类AA构造函数的是A.voidAA(int);B.intAA();C.AA(int)const;D.AA(int);

题目

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

A.voidAA(int);

B.intAA();

C.AA(int)const;

D.AA(int);


相似考题
更多“在下列函数原型中,可以作为类AA构造函数的是A.voidAA(int);B.intAA();C.AA(int)const;D.AA(int); ”相关问题
  • 第1题:

    如下类定义中包含了构造函数和复制构造函数的原型声明,请在画线处填写正确的内容,使复制构造函数的声明完整。

    class my(21ass{

    private:

    int data:

    public::

    MyClass(int value);//构造函数

    MyClass(const______anotherObject); //复制构造函数


    正确答案:myclass&
    myclass& 解析:由拷贝构造函数的声明的结构决定,格式为:类名(const,类名&对象名){……}。

  • 第2题:

    ( 21 )已知函数 fun 的原型为

    int fun ( int,int,int ) ;

    下列重载函数原型中错误的是

    A ) char fun ( int,int ) ;

    B ) double fun ( int,int,double ) ;

    C ) int fun ( int,char* ) ;

    D ) float fun ( int, int, int ) ;


    正确答案:D

  • 第3题:

    有如下类定义: class AA { int a; public: int getRef()const{ return &a; } //① int getValue()const{ return a; } //② void set(int n)const{ a=n; } //③ friend void show(AA aa)const{ cout<<a; } //④ }; 其中的四个函数定义中正确的是( )。

    A.①

    B.②

    C.③

    D.④


    正确答案:B
    解析:此题考查了常成员函数和友元函数的概念。选项A)中,getRef()函数的返回值和函数类型不符,故错误;选项C)中set()常成员函数改变了数据成员的值,这是不允许的;选项D)中show()函数被同时定义成友元函数和常成员函数是错误的。

  • 第4题:

    有如下类定义:

    class Bag {

    public:

    Bag(int p,char s='M'):price(p),size(s) { count++; }

    ~Bag() { count--; }

    int GetPrice() { return price; }

    int GetPrice() const { return price; }

    void SetPrice(int val) const { price=val; }

    private:

    int price;

    char size;

    static int count;

    };

    下列关于类成员的叙述中,正确的是( )。

    A. 成员函数GetPrice存在重定义

    B.构造函数的参数不能设置默认值

    C.析构函数中不能访问静态数据成员

    D.成员函数SetPrice不能定义为常函数


    参考答案:A

  • 第5题:

    下列程序在构造函数和析构函数中申请和释放类的数据成员int * a,申请时使用形参b初始化a,请填空。

    class A

    {

    public:

    A(int b) ;

    ~A( ) ;

    private:

    int * a;

    };

    A: :A(int b)

    {

    ______;

    }

    A: :~A( )

    {

    ______;

    }


    正确答案:a=Hew int(b) delete a
    a=Hew int(b) delete a 解析:C++中new和delete的使用有如下几种:① a=new int; delete a;②a=new int(10) ;delete a;③a=Hew int[10] ;delete[ ] a;。

  • 第6题:

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

    classA

    {

    int a;

    public:

    A(int aa=0) {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(aaq+1)或c(aa+1)A(aa)。
    A(aa),c(aaq+1)或c(aa+1),A(aa)。 解析: 题中要求用aa初始化基类A,用aa+1初始化类对象成员c,用的初始化列表的形式,即A(aa),c(aa+1)或c(aa+1),A(aa)。

  • 第7题:

    有如下类定义,请将Sample类的拷贝构造函数补充完整。

    class Sample{

    public:

    Sample(){)

    ~Sample(){if(p)delete p;)

    Sample(const Sample& s){

    ______

    }

    void SetData(int data) {p=new int(data);}

    private:

    int*p;

    };


    正确答案:p=new int; p=s.p;
    p=new int; p=s.p; 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。

  • 第8题:

    已知函数fun的原型为

    int fun(int,int,int);

    下列重载函数原型中错误的是

    A.char fun(int,int);

    B.double fun(int,int,double);

    C.int fun(int,char木);

    D.float fun(int,int,int);


    正确答案:D
    解析:重载函数至少要在参数个数或参数类型上有所不同。选项D)的重载函数只有返回值不同,其他(参数个数及类型)完全相同。因此,本题答案为D)。

  • 第9题:

    有如下类定义: class AA { int a; public: int getRef()const{return &

    有如下类定义: class AA { int a; public: int getRef()const{return &a;} //① int getValue()const{return a;) //② void set(int n)const{a=n;} //③ friend void show(AAaa)const{cout<<a;} //④ }; 其中的四个函数定义中正确的是

    A.①

    B.②

    C.③

    D.④


    正确答案:B
    解析:本题考查了常成员函数和友员函数的一些概念。getRef()函数返回的是a的地址值&a,而函数类型却定义为int,C++中不允许隐式的将一个地址值类型转换为int类型,故选项A不正确。set()函数被定义为常成员函数,但在函数中给a赋值,改变了数据成员的值这是不允许的,故选项C错误。show()函数被定义为AA类的友员函数,它不属于AA类而是一个全局函数。所以同时被定义为常成员函数是错误的。所以选项D不正确。故应该选择B。

  • 第10题:

    假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()

    • A、 int AA::a()
    • B、 int AA:a()
    • C、 AA::a()
    • D、 AA::int a()

    正确答案:A

  • 第11题:

    单选题
    在下列原型所示的C++函数中,按“传值”方式传递参数的是(  )。
    A

    void fl(int x);

    B

    void f2(int *x);

    C

    void f3(const int*x);

    D

    void f4(int& x);


    正确答案: A
    解析:
    传值方式是将实参复制到形参中,因此实参和形参是两个不同的变量,有各自的存储空间。A项采用传值方式;BC项项采用显式传地址方式;D项采用隐式传地址方式。

  • 第12题:

    单选题
    已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是(  )。
    A

    char fun(int,int);

    B

    double fun(int,int,double);

    C

    int fun(int,char*);

    D

    float fun(int,int,int);


    正确答案: A
    解析:
    重载函数的原则是至少要在参数个数或参数类型上不同。A项正确,参数个数与函数fun不同;B项正确,最后一项参数类型与函数fun不同;C项正确,参数个数与参数类型与函数fun不同;D项错误,只有函数返回类型不同,而其他完全相同,不能作为重载函数来使用。

  • 第13题:

    有如下类定义,请将Sample类的复制构造函数补充完整。

    class Sample{

    public:

    Sample( ){ }

    ~Sample( ){if(P)delete P;)

    Sample(const Sample&s){______}

    void SetData(int datA) {P=new int(datA) ;}

    private:

    int*P:

    };


    正确答案:*this=s;
    *this=s;

  • 第14题:

    在下面的函数原型声明中,存在语法错误的是()

    A.int AA(int a,int b);

    B.int AA(int,int);

    C.int AA(int a;int b);

    D. intAA(int a,int)


    参考答案C

  • 第15题:

    下面的______ 函数头格式不正确。

    A.AA(int a,int b)

    B.AA(int a,int b=0)

    C.AA(int a=0,int b=0)

    D.AA(0,int b)


    正确答案:D
    解析:D选项第一个参数没有声明参数类型。

  • 第16题:

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

    A.void AA(int);

    B.int AA();

    C.AA (int)const;

    D.AA(int)


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

  • 第17题:

    下列类的构造函数不能通过编译,正确的构造函数应该是______。 include class Sample

    下列类的构造函数不能通过编译,正确的构造函数应该是______。

    include<iostream.h>

    class Sample

    {

    public:

    int n;

    const int con;

    Sample(int m) {con=m+1;n=m;}

    void disp( ) {cout<<"normal:n="<<n<<endl;}

    void disp( )const {cout<<"static:n="<<n<<endl;}

    };

    void main( )

    {

    const Sample a (12);

    Sample b (13);

    a.disp( );

    b.isp( );

    cout<<a.n<<","<<b.con<<endl;

    }


    正确答案:Sample(int m):con(m+1){n=m;)
    Sample(int m):con(m+1){n=m;) 解析:本题考察常数据成员的初始化方法。常数据成员的定义必须出现在类体中,而且初始化只能通过构造函数的成员初始化列表进行,而且不能被更新。

  • 第18题:

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

    A.void AA(int);

    B.int AA( );

    C.AA(int)eonst;

    D.AA(int);


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

  • 第19题:

    下列类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。

    class myClass{

    private:

    int data;

    public:

    myClass(int value);//构造函数

    myClass(const______another Object);//拷贝构造函数

    }


    正确答案:myClass&
    myClass& 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。

  • 第20题:

    有如下类定义: class AA { im a: public: int getRefconst{return&a;}//① int getValueconst{return a;}//② void set(int n)const{a=n;}//③ friend void show(AA aA.const{cout<<a;}//④ }; 其中四个函数的定义中正确的是( )。

    A.①

    B.②

    C.③

    D.④


    正确答案:B
    本题考查常成员函数,常成员函数只能引用本类中的数据成员,而不能修改它。所以本题答案为B。

  • 第21题:

    如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。

    Class myClass{

    private:

    int data;

    public:

    myClass(int value);//构造函数

    myClass(const【 】anotherObject);//拷贝构造函数

    }


    正确答案:myClass&
    myClass& 解析:本题考查的知识点是:拷贝构造函数。拷贝构造函数定义的一般格式如下:
    类名>::类名)(const类名>&引用对象名>)
    {
    //拷贝构造函数体
    }
    而在类中的声明部分则可省去类名>::。故本题应该填myClass&。

  • 第22题:

    单选题
    在下列函数原型中,可以作为类AA构造函数的是(  )。
    A

    void AA(int);

    B

    int AA():

    C

    AA(int)const;

    D

    AA(int);


    正确答案: D
    解析:
    构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。A项和B项,函数均有返回值,不能作为构造函数;C项,构造函数会修改对象的数据成员,不能声明为常成员函数;D项可以作为类AA的构造函数。

  • 第23题:

    单选题
    假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()
    A

     int AA::a()

    B

     int AA:a()

    C

     AA::a()

    D

     AA::int a()


    正确答案: A
    解析: 暂无解析