郑大远程面向对象程序设计试题

C、operator==(a,b)

D、operator==(b,a)

2、如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A、a.operator++() C、operator++(a,1)

B、operator++(a) D、operator++(1,a)

3、双目运算符的调用格式是( )

A、双目运算符 左运算对象 右运算对象 C、左运算对象 双目运算符 右运算对象

B、双目运算符 右运算对象 左运算对象 D、右运算对象 双目运算符 左运算对象

4、一个程序中数组a和变量k定义为“int a[5][10],k;”,且程序中包含有语句“a(2,5)=++k*3;”,则此语句中肯定属于重载操作符的是( )。

A、( ) C、++

B、= D、*

5、下面是重载单目运算符-的成员函数原形,其中最符合-原来含义的是( )。

A、Value Value::operator-(Value); C、Value& Value::operator-(Value);

B、Value Value::operator-(int); D、Value& Value::operator-(Value&);

第二题、多项选择题(每题2分,5道题共10分) 1、关于运算符重载,下列说法错误的是( )。

A、所有的运算符都可以重载。

B、通过重载,可以使运算符应用于自定义的数据类型。 C、通过重载,可以创造原来没有的运算符。 D、通过重载,可以改变运算符的优先级。

2、下面不是运算符new重载的正确格式的是( )

A、void *类名::operator new(size_t size, int x, int y); B、int *类名::operator new(size_t size, int x, int y); C、void *类名::operator new(size_t size);

D、void *类名::operator new(int x, int y,size_t size);

3、重载del_ete运算符的格式错误的是( )

A、void * operator del_ete(void*); B、void * operator del_ete(void*,参数表); C、void * operator del_ete(参数表); D、void * operator del_ete();

4、下面关于逗号运算符的说法正确的是( )

A、逗号运算符是多目运算符

B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。 C、逗号运算符可以重载为成员函数,形参只带右运算数。 D、逗号运算符的返回值为左运算数的值。

5、下面重载类型转换运算符的语句正确的是( )

A、class X {X operator (int);}; B、class X {operator(X, int);}; C、class X {operator Z( );}; D、class X {operator Y( );};

第三题、判断题(每题1分,5道题共5分)

1、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。

正确

错误

2、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。

正确

错误

3、重载运算符保持原运算符的优先级和结合性不变。

正确

错误

4、重载比较运算符函数的返回值必须是bool类型。

正确

错误

5、重载=运算符没有实际意义,因为系统会为每一个类自动生成赋值运算符。

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)