练习4--运算符重载

  • 格式:doc
  • 大小:34.00 KB
  • 文档页数:7

一、 选择题 1、下面关于运算符重载的说法中,错误的是( )。 A、可以对C++所有运算符进行重载 B、运算符重载保持固有的结合性和优先级顺序 C、运算符重载不能改变操作数的个数 D、在运算符函数中,不能使用缺省的参数值 2、下列运算符能被重载的是( )。 A、:: B、?: C、. D、% 3、下列叙述正确的是( )。 A、运算符重载函数只能是一个成员函数 B、运算符重载函数既可以是一个成员函数,也可以是友元函数 C、运算符重载函数只能是一个非成员函数 D、运算符重载函数只能是友元函数 4、下列叙述不正确的是( )。 A、利用成员函数重载二元运算符时,参数表中的参数必须为两个 B、利用成员函数重载二元运算符时,成员函数的this指针所指向的对象作为运算符的左操作数 C、利用成员函数重载二元运算符时,参数表中的参数作为此运算符的右操作数 D、运算符重载时不能改变运算符的语法结构 5、为了区分一元运算符的前缀和后缀运算,在后缀运算符进行重载时,额外添加一个参数,其类型是( )。 A、void B、char C、int D、float 6、下列能正确重载运算符的友元函数原型是( )。 A、friend B operator?: ( ); B、friend B operator+(int x); C、friend B operator+(B b); D、friend B operator+(B b, B a); 7、下列叙述正确的是( )。 class B { int a,b; public: B(int aa=0, int bb=0) { a=aa; b=bb; } B operator+ ( int x ) //A { B r; r.a=a+x; r.b=b+x; return r; } }; void main( ) { B x(3,5), y(8,4), z1, z2; z1=x+5; z2=10+y; //B } A、A行有错误 B、B行有错误 C、A行和B行都有错误 D、A行和B行都没有错误 8、下列叙述正确的是( )。 class B { int a,b; public: B(int aa=0, int bb=0) { a=aa; b=bb; } friend void operator++( ); //A void show( ) { cout