C++(三)一個有理數類

來源:互聯網
上載者:User

class rational
{
public:
 rational(int numerator=1,int demominator=1);
 rational(const rational&);
 int GetNumerator() const;
 int GetDemominator() const;
 void PrintRational() const;
 void SetNumerator(int numberator);
 void SetDemominator(int demominator);
 const rational operator=(const rational&);
private:
 int numerator;
 int demominator;
};

rational::rational(int numerator,int demominator):numerator(numerator),
demominator(demominator)
{

}

rational::rational(const rational& rhs):numerator(rhs.GetNumerator()),
demominator(rhs.GetDemominator())
{
 
}

const rational rational::operator=(const rational& rhs)
{
 return rational(rhs.GetNumerator(),rhs.GetDemominator());
}

int rational::GetDemominator() const
{
 return demominator;
}

int rational::GetNumerator() const
{
 return numerator;
}

void rational::SetDemominator(int demominator)
{
 demominator=demominator;
}

void rational::SetNumerator(int numberator)
{
 numberator=numberator;
}

void rational::PrintRational() const
{
 cout<<"rational("<<GetNumerator()<<","<<GetDemominator()<<")"<<endl;
}

const rational operator*(const rational& rhs1,const rational& rhs2)
{
 return rational(rhs1.GetNumerator()*rhs2.GetNumerator(),
  rhs1.GetDemominator()*rhs2.GetDemominator());
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.