精華區beta civil92 關於我們 聯絡資訊
//物件導件之程式 #include<iostream> using namespace std; class Fraction // 把 Fraction 變為物件, + class { public:// 在main中使用 Fraction operator * (const Fraction & f2) const; // 1. 不需要引入第一個變數, 因為本身就是; //2. 不需要改變本身變數, 所以加 const void enter (istream & ins=cin); //enter 為一物件, 之後的輸入寫法要改, 如 g.enter void display (ostream & outs=cout) const; // 不改變內容, 所以加 const private: int num, den; //用到 Fraction 時才用 }; int main() { Fraction f, g, h; cout << "Enter Fraction: "; g.enter(); //g 為 Fraction 物件中的; 記得加 () cout << "Enter Fraction: "; h.enter(); f = g*h; cout << "The multiple is "; f.display(); cout << endl; return 0; } Fraction Fraction::operator * (const Fraction & f2) const //記得雙冒號 :: { Fraction ans; ans.den=den*f2.den; //*本身就帶著一個變數, 所以不用再加f1., den本身就是 ans.num=num*f2.num; return ans; } void Fraction::enter (istream & ins) // enter 為 Fraction 所屬的程式 { char slash; ins >> num >> slash >> den; // 不需要 return } void Fraction::display (ostream & outs) const { outs << num <<"/" << den; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59