![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
下面是复数类 complex 的定义 , 其中重载的运算符 “ + ” 的功能是返回一个新的复 数对象 ,
class complex
{
double real; // 实部
double imag; // 虚部
public:
complex(double r,double i):real(r),imag(i){}
complex operator+(complex a)
{
return complex(【 14 】 );
}
};
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
class complex
{
double real; // 实部
double imag; // 虚部
public:
complex(double r,double i):real(r),imag(i){}
complex operator+(complex a)
{
return complex(【 14 】 );
}
};
A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B.两个int型参数的和应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.++已经提供了求两个int型数据之和运算符+,不能再定义同样的运算符
A.已有的任何运算符都可以重载
B.运算符函数的返回类型不能声明为基本数据类型
C.在类型转换符函数的定义中不需要声明返回类型
D.可以通过运算符重载来创建C 中原来没有的运算符
A.都是拷贝一个类的对象给另一个同类型的类的对象
B.赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象
C.拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象
A.构造方法的返回类型为void
B.可以定义一个类而在代码中不写构造方法
C.在同一个类中定义的重载构造方法不可以相互调用
D.子类不允许调用父类的构造方法
A.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同
B.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数
C.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员
D.所有运算符都可以以类友元形式进行重载
A.运算符重载的作用是使已有的运算符作用于类的对象
B.通过运算符重载机制可以为C++语言扩充新的运算符
C.重载运算符的操作类型可以全部为基本类型
D.++中已有的任何运算符都可以重载
下面程序定义了一个类,关于该类说法正确的是()。abstract class abstract Class{}
A.该类能调用newabstractClass();方法实例化为一个对象
B.该类不能被继承
C.该类的方法不能被重载
D.以上说法都不对
A.这是运算符-的重载运算符函数
B.这个函数所重载的运算符是一个一元运算符
C.这是一个成员函数
D.这个函数不改变类的任何数据成员的值
在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。
A.该运算符是一个单目运算符
B.该运算符函数有一个隐含的参数this
C.该运算符函数是类的成员函数
D.该运算符函数是类的友元函数