问题

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

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

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

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

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

参考答案
您可能感兴趣的试题
  • ( 34 ) 语句 ofstream f(SALARY.DAT, ios_base::app); 的功能是建立流对象 f , 并试图打开文 件SALARY.DAT 与 f 关联 , 而且A ) 若
  • ( 35 ) 有如下程序#includeusing namespace std;class A{public:virtual void func1( ){ cout$amp;void func2( )
  • ( 6 )若有定义语句: int* a, b; ,则变量 b 的数据类型是 【 6 】 。
  • ( 7 )已知数组 a 中的元素个数为 n ,下列语句的作用是将下标为 i 的元素移动到下标为i - 1 的单元,其中 1 ≤ i n 。例如,当 n = 4 , a 中原有数据为 1 , 2 ,
  • ( 8 )已知递归函数 f 的定义如下:int f(int n){if (n <= 1) return 1; // 递归结束情况else return n * f(n-2); // 递归 }则函数调用
  • ( 9 ) 创建对象数组时 , 对数组的每一个元素都将调用一次构造函数 , 如果没有显式给出数组元素的初值 ,则调用缺省构造函数。下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是 【 9 】
相关内容