C++ 類
定義類相關(guān)的非成員函數(shù)
如上篇文章中add、read、print等,盡管這些函數(shù)定義的操作從概念上來說屬于類的接口的組成部分,但他們實(shí)際上不屬于類本身。
我們通常把函數(shù)的聲明和定義分離開,如果函數(shù)在概念上屬于類但是不定義在類中,則他一般應(yīng)和類聲明(而非定義)在同一個(gè)頭文件中,這樣用戶使用接口的任何部分只需引入一個(gè)文件。
定義read和print函數(shù)
read函數(shù)從給定流中將數(shù)據(jù)讀到給定的對象里,print函數(shù)將給定對象的內(nèi)容打印到給定流中。
還有兩點(diǎn)比較重要
1read和print分別受一個(gè)各自IO類型的引用作為參數(shù),這是因?yàn)镮O類屬于不可被拷貝的類,因此只能通過引用來傳遞他們。而且讀取和寫入會改變流的內(nèi)容,所以兩個(gè)都不是常量引用。
2print函數(shù)不負(fù)責(zé)換行。一般來說執(zhí)行輸出任務(wù)的函數(shù)應(yīng)該盡量減少對格式的控制,這樣可以讓用戶確保是否換行。
使用這兩個(gè)函數(shù)。

定義add函數(shù)
add函數(shù)接受兩個(gè)Sales_data對象作為參數(shù),返回值是一個(gè)新的Sales_data用來表示前兩個(gè)對象的和。
其實(shí)add函數(shù)就是combine函數(shù)。只不過combine是成員函數(shù)而add不是。
標(biāo)簽: