#includeusing namespace std;
enum signtype ;
class illeagalparametervalue//引數列表初始化類成員變數message
illeagalparametervalue(const char * str)
void outputmessage()
private:
const char *message;
};class currency
void setvalue(signtype, unsigned long, unsigned int);
void setvalue(double);
signtype getsign() const //const表示呼叫該函式的物件是常量物件,呼叫過程物件不可變,否則會發生錯誤
unsigned long getdollars() const
unsigned int getcents() const
currency add(const currency &) const; //add函式引數中const用於約束呼叫過程中引數不改變,改變則發生錯誤;返回新物件
currency & increment(const currency &);//返回輸入物件改變後的引用
void output() const;
private:
signtype sign;
unsigned long dollars;
unsigned long cents;
};currency::currency(signtype thesign, unsigned long thedollars, unsigned int thecents)
void currency::setvalue(signtype thesign, unsigned long thedollars, unsigned int thecents)
void currency::setvalue(double theamount)
else sign = signtype::plus;
dollars = (unsigned long)theamount;
cents = (unsigned int)((theamount + 0.001 - dollars) * 100); //重要,取兩位小數的方法,原理可參見其他部落格
}currency currency::add(const currency & t) const
else result.sign = signtype::plus;
result.dollars = a3 / 100;
result.cents = a3 - result.dollars * 100;
return result; //返回時使用複製建構函式
}currency & currency::increment(const currency & t)
void currency::output() const {
if (sign == signtype::minus)cout << '-';
cout << '$' << dollars << '.';
if (cents < 10)cout << '0';
cout << cents<
資料結構與演算法 抽象資料型別
抽象資料型別 abstract data type 簡稱adt 是指乙個數學模型以及定義在此數學模型上的一組操作。它包括資料物件 資料關係 操作集合 例子 arraylist adt arraylist 資料關係 r1 基本操作 init void 操作結果 構造乙個空的線性表l destroy b...
資料結構 資料型別
資料結構 資料型別 1 資料結構 它用來反映資料的內部構成,即資料由哪些成分資料構成,以什麼方式構成,呈什麼結構。分成物理上的和邏輯上資料結構。物理上的資料結構反映成分資料在計算機內的儲存安排 邏輯上的資料結構反映成分資料之間的邏輯關係。2 資料型別 資料按照資料結構分類,具有相同資料結構的資料屬於...
資料結構 資料型別
五種基本型別 1 字元 character x hello class x 輸出結果 1 character 注意事項 1.賦值符號 最好不要用 2.變數的定義書區分大小寫的 3.檢視資料的型別使用class 函式 2 數值 numberic x 3.14 class x 輸出結果 1 numeri...