题目内容

下列重载乘法运算符的函数原型声明中错误的是 ( )。

A. MyClass operator*(double, double) ;
B. MyClass operator*(double, MyClass);
C. MyClass operator*(MyClass,double);
D. MyClass operator*(MyClass, MyClass);

查看答案
更多问题

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

A. a.operator++()
B. operator++(a)
C. operator++(a,1)
D. operator++(1,a)

假定K是一个类名,并有定义“K k; int j;”,已知K中重载了操作符 ( ),且语句“j=k(3);”和“k(5)=99;”都能顺利执行,说明该操作符函数的原形只可能是( )。

A. K operator ( ) (int);
B. int operator ( )(int&);
C. int & operator ( )(int);
D. K &operator( )(int);

关于插入运算符<<的重载,下列说法不正确的是( )。

A. 运算符函数的返回值类型是ostream & 。
B. 重载的运算符必须定义为类的成员函数。
C. 运算符函数的第一个参数的类型是ostream & 。
D. 运算符函数有两个参数。

有以下类定义:class A{public:virtual void f1(){ cout<<1; };void f2(){ cout<<2; };};class B : public A{public:void f1(){ cout<<3;}void f2(){ cout<<4;}};若b为B类对象,p为A类指针,则下列选项正确的是( )。

A. 执行:p=&b; p->f1();语句,输出3
B. 执行:p=&b; p->f2();语句,输出4
C. 执行:p=&b; p->f1();语句,输出2
D. 执行:p=&b; p->f2();语句,输出1

答案查题题库