husky66 2020-05-09 11:13 采纳率: 33.3%
浏览 113
已采纳

自增运算符重载问题?求解

#include<iostream>

using namespace std;

class Person
{
    friend ostream & operator<<(ostream &cout, Person &P);
public:
    Person(int A)
    {
        m_A = A;
    }

//自增运算符重载
    Person operator++(int)
    {
        Person P1 = *this;
        m_A++;
        return P1;
    }
private:
    int m_A;
};

//左移运算符重载
ostream & operator<<(ostream &cout, Person &P)
{
    cout << P.m_A;
    return cout;
}

void text()
{
    Person P(10);
    cout << P++ << endl;
    cout << P << endl;

}

int main()
{
    text();

    system("pause");
    return 0;
}

为什么 cout << P++ << endl这段代码出错了。

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-09 11:56
    关注

    问题解决的话,请点采纳

        Person& operator++(int)
        {
            Person& P1 = *this;
            m_A++;
            return P1;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程
  • ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
  • ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
  • ¥15 Python pandas
  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
  • ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能
  • ¥15 空间转录组CRAD遇到问题
  • ¥20 materialstudio计算氢键脚本问题