森狼藤野 2023-06-04 16:40 采纳率: 66.7%
浏览 28
已结题

C++后置++重载 不知到问题所在

`

class a
{
public:
    a operator++(int)   //后置++
    {
        a temp = *this;
        b++;
        return temp; 
    }
    int b=10;
};

ostream & operator<<(ostream & cout, a &c)
{
    cout<< c.b;
    return cout;
}

int main()
{
    a c;
    cout<<c++;
}

  • 写回答

2条回答 默认 最新

  • P2441M 2023-06-04 16:57
    关注
    #include <iostream>
    
    using namespace std;
    
    class a
    {
    public:
        a operator++(int)   //后置++
        {
            a temp = *this;
            b++;
            return temp;
        }
    
        int b = 10;
    };
    
    ostream &operator<<(ostream &cout, a c)  // 把 & 去掉,因为后置自增运算符返回的不是引用。
    {
        cout << c.b;
        return cout;
    }
    
    int main()
    {
        a c;
        cout << c++;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日
  • 创建了问题 6月4日

悬赏问题

  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果
  • ¥15 HbuilderX检测不到安卓模拟器
  • ¥15 这个main已经在filename.obj中定义是什么错 C语言
  • ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
  • ¥15 使用elementor设计样式
  • ¥15 谁能提供一个中文版的推销咨询网站连接?
  • ¥15 springboot项目程序启动报错
  • ¥15 grlb复位后关闭硬限位开关,移动中仍然会触发停止。