下面是“二维向量” vector2D 的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象。那么应该在横线上填入的语句是( )。 class vector2D { private: double x; //x分量 double y; //y分量 public: vector2D(double x0=0,double y0=0) :x(x0),y(y0) {} void show(cout<<' ('<<', '<<y<<') ';} _________________________; }; vector2D :: operator + (vector2D a) { return vector20(x+a.x,y+a.y); }
A.vector2D operator + (vector2D b)
B.vector2D operator + (vector2D &b)
C.void operator + (vector2D)
D.int operator + (vector2D b)
第1题:
下列关于运算符重载的叙述中,错误的是
A.::运算符不能重载
B.类型转换运算符只能作为成员函数重载
C.将运算符作为非成员函数重载时必须定义为友元
D.重载[ ]运算符应完成“下标访问”操作
第2题:
有如下的运算符重载函数定义: double operator+(inti,intk){return double(i+k);} 但定义有错误,对这个错误最准确的描述是( )。
A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第3题:
有如下的运算符重载函数定义:double operator+(int i,int k){return double (i+ k);}但定义有错误,对这个错误最准确的描述是( )。
A.“+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的
B.两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第4题:
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出( )。
A.“/”和“++”都是作为成员函数重载的
B.“/”和“++”都是作为非成员函数重载的
C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的
D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
第5题:
下列关于运算符重载的描述中,错误的是( )。
A.::运算符不能重载
B.类型转换运算符只能作为成员函数重载
C.将运算符作为非成员函数重载时必须定义为友元
D.重载口运算符应完成“下标访问”操作