#includeiostreamusing namespace std;class counterpubliccountern=0;counterint i n=i;1运算符重载函数counter t;—2return t;void dispcoutn=nendl;privateint n;;int main counter c15c210c3;c3=cl+c2;c3disp;
此代码存在一些语法错误,需要进行修改。
修改后的代码如下:
#include
class counter{ public: counter(){n=0;} counter(int i) {n=i;} counter operator+(const counter& c) //[1] 运算符重载函数 { counter t; t.n = n + c.n; //[2] return t; } void disp() { cout<<"n="<<n<<endl; } private: int n; };
int main() { counter c1(5),c2(10),c3; c3=c1+c2; c3.disp(); return 0; }
修改说明:
-
在 counter 类中重载运算符“+”,使得两个 counter 类型的对象可以相加。
-
在运算符重载函数中,计算两个对象的“n”值之和,并将其赋值给一个临时对象“t”。返回该临时对象“t”。
-
在 main 函数中创建三个 counter 类型的对象,分别为 c1、c2 和 c3。将 c1 和 c2 相加,将结果赋值给 c3。最后输出 c3 的“n”值
原文地址: https://www.cveoy.top/t/topic/fiCk 著作权归作者所有。请勿转载和采集!