資料結構與演算法1 5 自有資料型別 (物件導向

2021-10-10 18:59:17 字數 1656 閱讀 1141

#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...