c++中正常的一个类创建
#includeusing namespace std; class Box // 创建一个Box类 { public: double len; // Box类的属性 }; int main() { Box box1, box2; // 声明box1, box2类型为Box cin >> box1.len >> box2.len; cout << box1.len << ' '<< box2.len << endl; }
这时候在声明一个box3类型为Box,使得box3 = box1 + box2可以正常运行所以需要重载'+'号
'+'号的重载代码
#includeusing namespace std; class Box // 创建一个Box类 { public: double len; // Box类的属性 Box operator + (const Box& b) // 重载'+'其他运算符类似 { Box box; box.len = this -> len + b.len; return box; } }; /*结构体 struct node { int len; node operator + (const node& b) // 结构体运算符重载 { node x; x.len = this -> len + b.len; return x; } }; */ int main() { Box box1, box2; // 声明box1, box2类型为Box Box box3; // 新声明的box3类型为Box cin >> box1.len >> box2.len; box3 = box1 + box2; // '+'号重载后不会报错 cout << box3.len << endl; }
Comments | NOTHING