C++ 构造函数
也许学习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<double>(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;
}