cyshhm 发表于 2013-11-19 22:04:23

输出流重载没搞清楚所以这里又搞不懂了!!!

本帖最后由 cyshhm 于 2013-11-19 22:15 编辑

#include<iostream>
#include<string>
class yls//有理数的计算
{
      int a,b;
      yls jhfs(const yls &sr);
public:
      yls();
      yls(int j);
      yls(int j,int k);
      yls operator+(const yls &sr);
      yls operator-(const yls &sr);
      yls operator*(const yls &sr);
      yls operator/(const yls &sr);
    std::ostream&operator<<(std::ostream& oo,const yls &sr);//这里我就是想把输出流操作符重载在类中的 为了就是明白 输出流重载的参数的真正目的
};

std::ostream& yls::operator<<(std::ostream& oo,const yls &sr)
{
      oo<<sr.a<<"/"<<sr.b;
      return oo;
}

yls yls::jhfs(const yls &sr)
{
      int i,j,k;
      yls c;

      i=sr.a;
      j=sr.b;

      if(j<0)
      {
            c.a=-i;
            c.b=j=-j;
      }
      else
      {
            c.a=i;
            c.b=j;
      }

      i=i>0?i:-i;

      while(i)
      {
            k=j%i;
            j=i;
            i=k;
      }

      c.a/=j;
      c.b/=j;

      return c;
}

yls yls::operator+(const yls &sr)
{
      yls c;

      c.a=b*sr.a + a*sr.b;
      c.b=sr.b*b;

      return c;
}
yls yls::operator-(const yls &sr)
{
      yls c;

      c.a=sr.a*b-a*sr.b;
      c.b=sr.b*b;

      return c;
}
yls yls::operator*(const yls &sr)
{
      yls c;

      c.a=sr.a*a;
      c.b=sr.b*b;

      return c;
}
yls yls::operator/(const yls &sr)
{
      yls c;

      c.a=sr.a*b;
      c.b=sr.b*a;

      return c;
}

yls::yls(int j,int k)
{
      this->a=j;
      this->b=k;
}

yls::yls()
{
      this->a=0;
      this->b=1;
}

yls::yls(int j)
{
      this->a=j;
      this->b=1;
}

cyshhm 发表于 2013-11-19 22:05:46

本帖最后由 cyshhm 于 2013-11-19 22:22 编辑

不仅求答案 而且求 原因和解说!!!
谢谢啦

我学习喜欢刨根问底儿
不求把根刨完 能刨点刨点吧

我是一个贪婪的人希望别人 "授人(我)以鱼" 也喜欢别人 "授人(我)鱼"

跪求啦!!!

lzy5299487 发表于 2013-11-19 22:07:40

看不懂 帮你顶下

cyshhm 发表于 2013-11-20 10:59:07

来人啊! 救救我这个题吧!!!!!!!!!!!!!!!

cyshhm 发表于 2013-11-20 19:25:02

{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}
{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}{:2_28:}

坐等啊!!!!!!
页: [1]
查看完整版本: 输出流重载没搞清楚所以这里又搞不懂了!!!