#include <iostream>
class MyClass {
private:
int privateVar;
public:
MyClass(int value = 0) : privateVar(value) {}
// 友元函数声明
friend MyClass& operator++(MyClass& obj);
int getValue() const {
return privateVar;
}
};
// 友元函数定义
MyClass& operator++(MyClass& obj) {
if (obj.privateVar < 100) {
++obj.privateVar;
} else {
std::cerr << "溢出警告:已达到最大值100" << std::endl;
}
return obj;
}
// 测试代码
int main() {
MyClass obj(99);
std::cout << "初始值: " << obj.getValue() << std::endl;
++obj;
std::cout << "自增后的值: " << obj.getValue() << std::endl;
++obj;
return 0;
}