勿在浮沙築高台
正規、大器的程式設計素養,繼續**更多技術
泛型程式設計和物件導向程式設計是兩條不同的技術路線
傳統版本的stl:
整個標準庫是泛型程式設計 而非 物件導向
繼承和多型用的不多
1.轉換函式:
型別轉換:a/b
c++說你不用寫返回型別,名稱裡面已經寫了,轉換,不需要引數
const:不應該改變
轉換是隱式的?
有沒有寫全域性的函式+?
左為整數或浮點數,右為fraction
不存在因此編譯器再找fraction能否轉換為double或int
不需要寫成:double d=4+double(f)???
轉換的不需要是內建型別
將這種東西轉換為別的東西,轉換函式
單實參非explict建構函式:
two parameter one argument(只要乙個實參就夠了,給兩個實參也可以)
explict可以出現在建構函式前面
編譯器想辦法找能不能讓這個語句通過!
能不能把4轉為fraction
利用建構函式將4變為4/1
fraction d2=f+4 注意!
可以把別的東西轉換為這種東西!
編譯器會想,該怎麼辦?!?!?! +號這個地方
此時,全域性的+還可以用麼?
標準庫的例子:
操作符過載,boolean值???
C 物件模型 2
史列因 我剛看了你寫的 深度探索c 物件模型 1 感覺很不錯。不過我有乙個建議 你說 誰知第一章便如此的難以消化,已經反覆讀了3遍,還是有些夾生 是很自然的。第一章是乙個總覽,如果你能全看懂,後面的就沒什麼看的必要了。第一章的內容後面都有詳細介紹,開始只要有個大概印象就可以了。這本書中很多內容都是前...
小然談程式設計 2
開場白 這已經是連續的第二十個零點了,第二十個思維停滯的時刻。我一直在想怎樣寫今天的這個問題,卻苦於無法下筆,無從說起,推遲到了現在。因為說明這個題實在太大,太難了。二十個零點過去了,我才決定拿起筆來,嘗試著寫出來,因為它真的很重要。同時,我要感謝開水加冰,他在我寫本文的時候,給了不少非常可貴的意見...
C 物件模型之記憶體布局(2)
多重繼承 繼承關係大於2,至少有父類,子類,孫子類三代關係。使用vs2017檢視物件記憶體布局如下 class c size 20 0 base class b 0 base class a 0 4 a1 8 a2 12 b1 16 c1 c vftable c meta 0 0 c a1 1 a ...