参考答案和解析
B 解析: 因为题目的要求是对类AB定义加号操作符重载成员函数,所以首先应该对范围加以限定,参数是对类对象的引用。
更多“假定要对类A定义加号操作符重载成员函数,实现两个A类对象的加法,并返回相加结果,则该成员函数的声明语句为()”相关问题
  • 第1题:

    下列关于虚函数与函数重载区别的叙述中不正确的是( )。

    A.函数说明形式上不同

    B.函数重载允许是非成员函数,虚函数只能是成员函数

    C.函数重载的调用依据参数和类型的差别,虚函数则依据对象

    D.函数重载的本体可以在类外定义,虚函数不可以


    正确答案:D
    解析: A项,B项,C项均为虚函数与函数重载的不同之处。但有一点它们是相同的:在类内外定义均可。故 D项错误。

  • 第2题:

    多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符[]只能作为类的______函数重载。


    正确答案:成员
    成员 解析:此题考查的是运算符重载。在C++中,“=”、“[]”、“()”、“->”以及所有的类型转换符只能作为成员函数重载,不能重载为友元函数。

  • 第3题:

    假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。

    A.AB operator+(AB &a,AB &B)

    B.AB perator+(AB &)

    C.opetator+(AB a)

    D.AB & operator+()


    正确答案:B

  • 第4题:

    下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

    A.语句①是类MyClass 的构造函数的定义

    B.语句②和③实现类成员函数的重载

    C.语句④实现对类成员变量x的更新操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:在C++中构造函数没有返回类型,所以语句①是错误的。语句②和语句③在进行f(x,y)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

  • 第5题:

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(DatA.;SXB

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+(DatA.;

    B.Data operator+(DatA.;

    C.Data+operator(DatA.;

    D.operator+(Data,DatA.;


    正确答案:B
    根据重载加法运算符的格式,只有B选项正确。

  • 第6题:

    假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为( )。

    A.AB operator+(AB&a,AB&)

    B.AB perator+(AB&)

    C.opetacor+(AB A)

    D.AB &operator+()


    正确答案:B
    解析: 因为题目的要求是对类AB定义加号操作符重载成员函数,所以首先应该对范围加以限定,参数是对类对象的引用。

  • 第7题:

    假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;}”,该构造函数实现对数据成员()的初始化。


    正确答案:a

  • 第8题:

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

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

    正确答案:A

  • 第9题:

    多选题
    对于C++中类(class)与结构(struct)的描述正确的为()
    A

    类中的成员默认是private的,当是可以声明public,private和protected,结构中定义的成员默认的都是public

    B

    结构中不允许定义成员函数,当是类中可以定义成员函数

    C

    结构实例使用malloc()动态创建,类对象使用new操作符动态分配内存

    D

    结构和类对象都必须使用new创建

    E

    结构中不可以定义虚函数,当是类中可以定义虚函数

    F

    结构不可以存在继承关系,当是类可以存在继承关系


    正确答案: E,F
    解析: 暂无解析

  • 第10题:

    单选题
    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()
    A

    基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员

    B

    基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数

    C

    派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数

    D

    对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数


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

  • 第11题:

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

    intAA::a()

    B

    intAA:a()

    C

    AA::a()

    D

    AA::inta()


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

  • 第12题:

    单选题
    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是(  )。
    A

    Data+ (Data);

    B

    Data operator+(Data);

    C

    Data +operator(Data);

    D

    operator+ (Data, Data);


    正确答案: B
    解析:
    “+”是一个二元运算符,因此作为成员函数重载时参数表中只有一个参数,它对应于第二个操作数,而第一个操作数是对象本身。因此,声明形式为“Data operator+(Data)”。

  • 第13题:

    下列关于类定义的说法中,正确的是

    A.类定义中包括数据成员和函数成员的声明

    B.类成员的缺省访问权限是保护的

    C.数据成员必须被声明为私有的

    D.成员函数只能在类体外进行定义


    正确答案:A
    解析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有的(private),所以选项B) 不正确:类的数据成员和函数成员的访问控制权限均可被声明为公有 (public)、私有(priate)和保护(protected)中的任意一种,所以选项C) 不正确;成员函数的实现即可以在类体内定义,也可以在类体外定义,所以选项D) 不正确。故本题应该选择A。

  • 第14题:

    下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

    class MyClass { publiC: void MyClass(int a) //①

    { x=a; ) int func(int a,int b) //②

    { x=a; y=b; } int func(int a,int b,int c=0) //③

    { x=a; y=b; z=c; } static void resetValue() //④

    { x=0; } private: int X,y,Z; };

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量x的清零操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

  • 第15题:

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(Data);SX

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+(Data);

    B.Dataoperator+(Data);

    C.Data+operator(Data);

    D.operator+(Data.Data);


    正确答案:B
    B:【解析】重载运算符的函数一般格式如下:函数类型0perator运算符名称(形参列表)因此选B。

  • 第16题:

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+{Data};

    B.Dataoperator+{Data};

    C.Data+operator{Data};

    D.operator+{Data.Data};


    正确答案:B
    B。【解析】重载运算符的函数一般格式如为:函数类型0perator运算符名称(形参列表),因此选8。

  • 第17题:

    前置自增运算符++重载为类的友元函数的形式为【 】,重载为类的成员函数的形式为【 】。 (设类为A,类对象为a)


    正确答案:friend A operator++(A &) a. operator++().
    friend A operator++(A &) a. operator++().

  • 第18题:

    有如下的运算符重载函数定义:double operator+(int i,int k){return double (i+ k);}但定义有错误,对这个错误最准确的描述是( )。

    A.“+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的

    B.两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double

    C.没有将运算符重载函数声明为某个类的友元

    D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符


    正确答案:D

  • 第19题:

    类的成员包括成员变量和成员函数。公开的成员变量又称为(),而用Property语句定义的成员变量则称为();公开的类成员函数又称为类的()。


    正确答案:字段;属性;方法

  • 第20题:

    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()

    • A、基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员
    • B、基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数
    • C、派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数
    • D、对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数

    正确答案:A

  • 第21题:

    填空题
    类的成员包括成员变量和成员函数。公开的成员变量又称为(),而用Property语句定义的成员变量则称为();公开的类成员函数又称为类的()。

    正确答案: 字段,属性,方法
    解析: 暂无解析

  • 第22题:

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

     int AA::a()

    B

     int AA:a()

    C

     AA::a()

    D

     AA::int a()


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

  • 第23题:

    单选题
    下列关于运算符重载的描述中,错误的是(  )。
    A

    可以通过运算符重载在C++中创建新的运算符

    B

    赋值运算符只能重载为成员函数

    C

    运算符函数重载为类的成员函数时,第一操作数是该类对象

    D

    重载类型转换运算符时不需要声明返回类型


    正确答案: B
    解析:
    运算符重载是针对C++中原有运算符进行的,不能通过重载创造新的运算符。

  • 第24题:

    填空题
    假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;}”,该构造函数实现对数据成员()的初始化。

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