c primer第一章大習題

2021-10-07 13:16:07 字數 2155 閱讀 3646

最近在看c++ primer

第一章主要是c++ 的一些基礎 介紹類相關的東西 基本上沒什麼特別的。

主要是 這個書店程式的標頭檔案 尋思著自己寫一下 ,在寫的過程中 產生了乙個疑問?

過載運算子的時候 發現在過載函式內可以訪問新生成的物件和引入的物件的私有成員 以前都沒注意到。

比如下面這個

sales_item sales_item::

operator

+(sales_item &book)

else

}

上網查了下 以下是回答原話:

實踐證明,類(class)私有成員可以被類成員函式訪問,不區分成員在哪個例項(instance)裡。也就是說,在類內部的成員函式中,哪怕是傳入的物件,也是可以直接訪問該物件的私有成員。(前提是該物件必須是本型別的乙個物件)。

#include

#include

using

namespace std;

class

sales_item

string isbn()

friend ostream &

operator

<<

(ostream &output, sales_item &book)

;friend istream &

operator

>>

(istream &intput, sales_item &book)

; sales_item operator

+(sales_item &book)

;void

operator+=

(sales_item &book);}

;ostream &

operator

<<

(ostream &output, sales_item &book)

istream &

operator

>>

(istream &intput, sales_item &book)

sales_item sales_item::

operator

+(sales_item &book)

else

}void sales_item::

operator+=

(sales_item &book)

還有乙個點

在我們測試程式的時候 一般需要很多組資料的驗證 用手一次一次的輸入會搞的很煩 。

所以就得用到檔案重定向

步驟1.在生成的.exe檔案同目錄下 新建兩個文字 乙個用來輸入 乙個用來輸出

2.在輸入的文字中輸入多組測試資料 以空格隔開或者換行也行。

3.在系統的命令列視窗 進入可執行檔案(.exe)的目錄下 執行以下命令

additem outfile
additem: .exe檔案的檔名。

infile: 輸入檔案的檔名。

outfile:輸出檔案的檔名。

就能在輸出檔案裡看到 結果了。

d:\文件\visual studio 2015\projects\exercise2\debug>exercise2 <

1.txt >

2.txt

下面是這兩個文字。

}比較簡單就補貼注釋了。

不足之處 歡迎指出。

c primer第一章習題

以下程式全在vs.net 2003編譯,執行通過 習題1.3 編乙個程式,在標準輸出上列印 hello,world 答 include int main return 0 int main return 0 習題1.11 用while迴圈程式設計,輸出10到0遞減的自然數.然後用for迴圈重寫該程式...

C Primer 課後習題第一章

重新開始 要加油,加油,加油啊!黃鵬宇.我一定會找到工作的.fight!本門部分答案參考於 c primer 習題集 visual studio 官方文件如下 c 程式 字尾 cpp c程式 字尾 c 標頭檔案 h includeint main void 不合法 的前面沒有表示式 修改方法之一 只...

C Primer 習題解答 第一章

自己動手做習題,加深理解。這些都是自己做的,如果有不對或不妥的地方,請指出,謝謝。習題 1.3編乙個程式,在標準輸出上列印 hello world 解答 include int main 習題1.4 我們的程式利用內建的加法操作符 來產生兩個數的和。編寫程式,使用乘法操作符 產生兩個數的積。解答 i...