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

admin2010-12-16  34

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

选项 A、+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B、两个int型参数的和应该是int型,而这里将+的返回类型声明为double
C、没有将运算符重载函数声明为某个类的友元
D、C++已经提供了求两个int型数据之和运算符+,不能再定义同样的运算符


答案C

解析 “+”作为双目运算符,在对其进行重载时,如果重载为成员函数,则只需要定义一个形参;如果重载为友元函数,则需要定义两个形参。从题干中可以看出,在重载函数声明中,没有friend关键字,却有两个形参,故会提示友元函数重载报错。
转载请注明原文地址:https://kaotiyun.com/show/dhVp777K
0

最新回复(0)