c++递增运算符重载可以在类外声明定义吗
时间: 2024-06-10 11:09:52 浏览: 142
c++ 递增运算符重载案例代码
可以在类外声明定义递增运算符重载,但必须将其声明为类的友元函数,以访问类的私有成员。例如:
```
class MyClass {
private:
int value;
public:
MyClass(int v) : value(v) {}
// 声明递增运算符重载为友元函数
friend MyClass operator++(MyClass& obj, int);
};
// 定义递增运算符重载
MyClass operator++(MyClass& obj, int) {
MyClass temp(obj.value);
obj.value++;
return temp;
}
```
阅读全文