C Primer學習筆記

2021-05-01 07:06:39 字數 1143 閱讀 9514

學習完乙個知識點後寫上自己的理解。算是總結吧,加深一下自己的印象,也可以在以後複習的時候方便檢視

加油加油!

14.1關於運算子的過載

存在的意義:目前看來就是因為操作符大部分是針對資料的,比如int型,char型,書中稱為內建型別。而當類之間想要用操作符的時候,比如兩個類的物件相加,那麼就需要去重

載操作符了。過載操作符是為了類而存在的,所以,型別中至少有乙個類型別。

過載操作符的定義:

這裡把操作符當做函式來定義。只不過比平時的函式多加乙個關鍵字operator。也需要引數和返回值。「型別 operator運算子(型別,型別。。。)」比如+,我們當+是乙個函式

,它需要兩個引數,x+y,返回值就是x+y的結果。

過載操作符可以作為非成員函式,也可以作為類的成員函式。當作為類的成員函式時,引數會少乙個。那是因為隱式this指標。因為是在乙個類中,所以第乙個引數也就預設為是

這個類,所以不用標出。而是隱藏著this指標來表示。後面的引數就是要呼叫的其他的型別引數。

這是目前對已經學的知識的理解,其他的還需繼續學習

14.2過載《輸出操作符

哈哈,很有成就感呢。

存在的意義:在輸出類的時候直接用「cout《類名」,這樣會變的簡便,不用死板的去只能輸出變數。

用法:當然了,《需要去像編輯函式一樣編輯<<。

ostream& operator <<(ostream& out,const 類名& s)

第乙個引數。毫無疑問,需要定義成ostream類的引用。因為它代表了《左側的引數,也就是cout,cout當然是ostream類,為了避免複製,需要定義成引用。第二個引數,就是將

要輸出的類。輸出值是不應該再改變的,還有避免複製,所以用const的類的引用。返回值是ostream類,不知道什麼原理,記下就是了。

下面就該編輯這個「函式」了

#include

using namespace std;

class check

;void check::getdata(double a,int b)

ostream& operator<<(ostream& out,const check& s)

int main()

因為書上只寫了如何定義,沒有寫使用,於是自己摸索著使用成功,所以很高興。繼續下一章了。

《C Primer》學習筆記

2008年7月18日 颱風海鷗登陸 1 宣告與定義 變數的定義用於為變數分配儲存空間,還可以為變數指定初始值。在乙個程式中,變數有且僅有乙個定義。變數的宣告用於向程式表明變數的型別和名字。變數的宣告包括物件名 物件型別和物件型別前的關鍵字extern 當設計標頭檔案時,記住定義和宣告的區別是很重要的...

c primer學習筆記

3.2 標準庫型別string 1.注意在使用empty size 和is x 這種函式時請注意其使用的方法,例如 string s hello world if s.empty empty 和size 更像是一種屬性 if is x s 0 is 這種函式更像是一種函式,而且是針對的單個字元 2....

c primer學習筆記

第一章 1.hello world include stdafx.h include include int main std cout std cout sum return 0 include include int main 輸出10到0的自然數 while t 0 std cin t ret...