精華區beta civil92 關於我們 聯絡資訊
//一宣告物件就執行的函數 #include<iostream> using namespace std; class Fraction // 把 Fraction 變為物件, + class { public:// 在main中使用 Fraction();//default constructor 自建函數, 是一宣告物件就執行的函數 Fraction(int n, int d); Fraction operator * (const Fraction & f2) const; void enter (istream & ins=cin); void display (ostream & outs=cout) const; private: int num, den; //用到 Fraction 時才用 }; int main() { Fraction f, g, h(3,4); //一宣告f, g, 就去執行Fraction::Fraction(), f, g = 1/1 //一宣告h, 就去執行Fraction::Fraction(int n, int d), h = 3/4 f = g*h; cout << "The multiple is "; f.display(); cout << endl; return 0; } Fraction::Fraction() { cout <<"I'm constructor!!\n"; num=1;den=1;} Fraction::Fraction(int n, int d) { cout <<"I'm constructor 2!!\n"; num=n;den=d;} Fraction Fraction::operator * (const Fraction & f2) const //記得雙冒號 :: { Fraction ans; ans.den=den*f2.den; ans.num=num*f2.num; return ans;} void Fraction::enter (istream & ins) // enter 為 Fraction 所屬的程式 { char slash; ins >> num >> slash >> den;} void Fraction::display (ostream & outs) const { outs << num <<"/" << den;} -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59