重構練習 大二作業 第2部分

2021-08-10 22:50:21 字數 963 閱讀 6304

現在開始修改資料結構。

當初我在寫**的時候不知道抽了什麼風,過載了一大堆比較函式,還都是友元函式。

friend bool operator<(bigamount& ba1,bigamount& ba2);

friend bool operator<(long long ba1,bigamount& ba2);

friend bool operator<(bigamount& ba1,long long ba2);

大於,等於,小於,大於等於,小於等於,不等於。每樣都像上面的那樣寫了3個。

首先修改一下這些過載的運算子,這些運算子內部呼叫的是下面的函式

private:

int compare(bigamount &ba2);

int compare(long long ba2);

在新的**中,我打算將這些友元函式放到類的外面,讓類對外保留乙個公有的介面,在過載的運算子函式中呼叫這些介面。

所以首先將函式 compare放到類的public部分中,並將函式名改為compareto。

修改完成,編譯成功。

然後再看判斷運算子的實現部分。compare也就是現在的compareto函式會比較兩個大整數的值,並根據大小返回-1,0,1

我當時是這樣實現的

bool operator<(bigamount& ba1,bigamount& ba2)

其實不用那麼麻煩,函式內的部分1句話就可以了。。。我當時怎麼會把比較函式都用上面的寫法寫一遍的。。。。

bool operator<(bigamount& ba1,bigamount& ba2)

用簡單的寫法替換原有的寫法,編譯並通過。

重構練習 大二作業 第3部分

在大整數類中,有這兩個函式 friend bool operator long long ba1,bigamount ba2 friend bool operator bigamount ba1,long long ba2 由於compareto函式能判斷大於 小於 等於,所以這兩個函式只保留乙個就...

練習2部分題解

問題 g 汽水瓶 時間限制 1 sec 記憶體限制 128 mb提交 93 解決 45 201501010119 提交狀態討論版 題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉...

什麼是SOLID原則(第2部分)

翻譯自 what s the deal with the solid principles?part 2 在文章的 第1部分,我們主要討論了前兩個 solid 原則,它們分別是單一職責原則和開閉原則。在這一部分,我們將按照首字母縮略詞中的順序來處理接下來的兩個原則。讓我們啟程吧!在 solid 原則...