筱羅卜 2015-06-09 07:50 采纳率: 100%
浏览 1526
已采纳

这个程序问题出在哪呢?没有编译错误,但运行乱码。。是主函数的问题吗?

#include
using namespace std;
class zrf_Ratio
{
public:
zrf_Ratio(){}
zrf_Ratio(int r1,int r2):num(r1),den(r2){}
zrf_Ratio f1(zrf_Ratio& z)
{
int r,m=z.num,n=z.den;
while(r=z.num%z.den)
{
z.num=z.den;
z.den=r;
}
r=z.den;
z.num=m/r;
z.den=n/r;
return z;
}
friend ostream& operator<<(ostream& ostr, const zrf_Ratio& r)
{ return ostr << r.num << "/" << r.den;}

zrf_Ratio& operator=(const zrf_Ratio& z1)
{
    zrf_Ratio a;
    return a.f1(zrf_Ratio(num+z1.num,den+z1.den));
}

zrf_Ratio& operator*=(const zrf_Ratio& z2)
{
    zrf_Ratio a;
    return a.f1(zrf_Ratio(z2.num*z2.den,z2.den+z2.den));
}

zrf_Ratio& operator++()
{
    num++;
    den++;
    return *this;
}

zrf_Ratio operator++(int)
{
        zrf_Ratio a;
        a=*this;
        ++ * this;
        return a;
}

private:
int num,den;
};
int main()
{
zrf_Ratio x(2,7),y(3,5),z;
z=x.operator=(y);
cout<<"x=(y)="<<z<<endl;
z=x*=(y);
cout<<"x*=(y)="<<z<<endl;
z++;
cout<<"z="<<z<<endl;
++z;
cout<<"z="<<z<<endl;
return 0;
}

  • 写回答

6条回答 默认 最新

  • oyljerry 2015-06-09 09:02
    关注

    运行乱码,是因为你代码访问的字符等编码是不是没有处理好

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题