class A { private: int m_data; public: A(int n=0):m_data(n){} // 有参、无参构造 A(const A& a) { *this = a; }// 拷贝构造 public: A& operator= (const A& a) { // 赋值运算符 m_data = a.m_data; return *this; } operator int() { reutrn m_data; } // 重载类型强转运算符 A& operator+ (int num) { // 加 m_data += num; return *this; } A& operator- (int num) { // 减 m_data -= num; return *this; } A& operator++ () { // 前加加 ++m_data; return *this; } A operator++ (int) { // 后加加 return m_data++; } A& operator-- () { // 前减减 --m_data; return *this; } A operator-- (int) { // 后减减 return m_data--; } A& operator* (int num){ if(!num) { count << "无意义:被乘数不能为0" << endl; m_data = 0; } else m_data *= num; return *this; } A& operator/ (int num){ if(!num) { count << "无意义:被除数不能为0" << endl; m_data = 0; } else m_data /= num; return *this; } ..... 其他都差不多 };