也许学习C++并不是为了用C++,而是为了更好地去学习与运用其他的高效工具去改善工作与生活.

 

#include<cassert>

#include<iostream>

class Fraction
{
private:
int m_nNum;
int m_nDen;
public:
//default constructor
Fraction(int nNum=0, int nDen=1)
{
assert(nDen != 0);
m_nNum = nNum;
m_nDen = nDen;
}

int GetNum() {return m_nNum;}
int GetDen() {return m_nDen;}
double GetFraction() {return static_cast&lt;double&gt;(m_nNum)/m_nDen; }

};

int main()
{
Fraction cDefault(); //will call Fraction(0,1)
Fraction cSix(6); // will call Fraction(6,1)
Fraction cFiveThirds(5,3); //will call Fraction(5,3)
std::cout<< cFiveThirds.GetFraction()<<std::endl; //legal
std::cout<< cDefault.GetFraction()<<std::endl; //illegal this will occur aan error
std::cout<<cSix.GetDen()<<”–”<<cSix.GetNum()<<std::endl;
std::cout<<cFiveThirds.GetDen()<<”–”<<cFiveThirds.GetNum()<<”\n”;
return 0;
}