[解析] 把“--”运算符重载为非成员(友元)函数格式:“friend<返回类型>operator--()”是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。结果一 题目 将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是( )。 A.Decr&operator--int;B.De...
解析 D 正确答案:D 解析:本题考查赋值运算符重载,赋值运算符只能作为类的成员函数重载,所以D选项错误。结果一 题目 下面是重载为非成员函数的运算符函数原型,其中错误的是 A. MyClassoperator*(MyClass); B. MyClassoperator+(MyClass,int); C. MyClass&operator-=(MyClass&,MyClass); D. MyClass&...
①用非类A类型的值为类A的对象赋值时(当然,从Ⅵ中可以看出,这种情况下我们可以不提供相应的赋值运算符重载函数而只提供相应的构造函数来完成任务)。 ②当用类A类型的值为类A的对象赋值且类A的成员变量中含有指针时,为避免浅拷贝(关于浅拷贝和深拷贝,下面会讲到),必须显式提供赋值运算符重载函数(如例1)。 Ⅷ...
①用非类A类型的值为类A的对象赋值时(当然,从Ⅵ中可以看出,这种情况下我们可以不提供相应的赋值运算符重载函数而只提供相应的构造函数来完成任务)。 ②当用类A类型的值为类A的对象赋值且类A的成员变量中含有指针时,为避免浅拷贝(关于浅拷贝和深拷贝,下面会讲到),必须显式提供赋值运算符重载函数(如例1)。 Ⅷ...
对于类A对象obj1与obj2, 表达式obj>obj2被C++编译器解释为: A、若该运算符被重载为成员函数,则解释为operator>(obj1,obj2) ; B、若该运算符被重载为友元函数,则解释为operator>(obj1,obj2) ; C、若该运算符被重载为成员函数,则解释为obj2.operator>(obj1) ; D、若该运算符被
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是 A.operator+有两个参数,o
friend Decr operator——(Decr&,int); 相关知识点: 试题来源: 解析 C 正确答案:C 解析:因为要作为非成员函数重载,所以加friend,作为前缀操作,其返回的操作结果是对该变量的引用,所以类型为Decr&,操作数出现在参数表中,应声明为引用,即Decr&。 知识模块:运算符重载反馈 收藏 ...
源程序: #include <iostream> using namespace std; class Sample { private: int x; public: Sample() {} Sample(int a) { x = a; } void disp() { cout << "x=" << x << endl; } Sample operator+(Sample& s2); }; Sample Sample::operator+(Sample& s2) ...
成员函数的运算符重载operator+,源程序:#include<iostream>usingnamespacestd;classSample{private:intx;public:Sample(){}Sample(inta){x=a;}voiddisp(){cout<<"x="<<x<
C++关于运算符重载的一道题若在表达式“y/x”,"/"是作为成员函数重载的运算符,则该表达式还可以表示为?A.operator/(x,y) B.x.operator/(y)C.y.operator/(x) D.operator/(y,x) 这题看不大明白~除了考运算