递增与递减运算符除了符号外大致相同。
下面是自己练习的笔记,递增后置运算符重载,由于懒惰,写在了类内。
#includeusing namespace std; //前置运算符的效率要快于后置运算符, class Person { friend ostream& operator<<(ostream& cout, Person p);//将输出运算符所在的函数设为类的友元 public: Person()//构造默认函数 { m_a = 0;//给m_a赋值 } //重载前置++运算符 Person& operator++();//类内定义,类外声明 //int为占位符,区分前后置参数 Person operator++(int)//我们并不会用到int形参,所以无需为其命名 { //先记录计算前的值 Person result = *this; // 递增 m_a++; //输出运算前的值 return result; } private: int m_a; }; //类外声明,前置运算符,后置运算符 Person & Person::operator++() { //先运行,在输出 m_a++; return *this;//确认返回的值是解指针后的整型 } //注意后置函数引用的是值,前置重载引用的是指针 ostream& operator<<(ostream& cout, Person p)//输出运算符重载,ostream是“<<“符号的定义类型(输出流类) { cout << "p.m_a的值 : " << p.m_a<



