1、 盡量以const,enum,inline替換#define
2、 const出現在星號左邊,表明指物是常量;出現在星號右邊,指標是常量。
3、 mutable修辭可以突破const限制,在被const修辭的函式裡面也能被修改
4、 運用const成員函式實現non-const版本可以避免**重複
5、 const物件只能呼叫const成員函式,在const成員函式中修改const物件資料和呼叫非const成員變數都是不允許的
6、 為駁回編譯器自動提供的功能,可以將相應的成員函式宣告為private並且不予以實現
7、 為多型基類宣告virtual析構函式
8、 為了保證**的異常安全性,應該避免在析構函式中丟擲異常
9、 絕不在構造和析構過程中呼叫virtual函式
10、 確定public繼承塑模出is-a關係,通過復合塑模出has-a關係
11、 寧以pass-by-reference-to-const替換pass-by-value
12、 避免遮掩繼承而來的名稱(用using進行宣告:using base::mf1)
13、 絕不重新定義繼承而來的non-virtual函式(如果子類有自己的版本,由於是靜態繫結,編譯時就已經確定,基類指標指向子類物件時,此時只會呼叫基類的版本,呼叫的版本取決於指標的型別)。
14、 絕不重新定義繼承而來的預設引數值,預設引數值靜態繫結,virtual函式動態繫結
class shape;
virtual void draw(shapecolor color=red) const=0;
} class rectangle
15、如果是public繼承,則可以將派生類物件轉換成基類物件;
如果是private和protected繼承,則不能將派生類物件轉換為基類物件。
private繼承是一種實現繼承
16、c++中子類可以繼承父類的private成員,但不能直接訪問(可通過函式介面訪問)
class a
private:
int m_i;
}; class b: public a
; b b;
int val = b.getvalue();
17、靜態函式:函式呼叫的結果不會訪問或者修改任何物件(非static)資料成員,這樣的成員宣告為靜態成員函式比較好。且如果static int func(….)不是出現在類中,則它不是乙個靜態成員函式,只是乙個普通的全域性函式,只不過由於 static 的限制,它只能在檔案所在的編譯單位內使用,不能在其它編譯單位內使用。
因為編譯器把涉及靜態資料成員的使用,都轉換為直接使用,而靜態成員在class中宣告,外部無法看見。故需要在外部進行定義,使其後的**可見
找工作啦,找工作啦
可能你會覺得現在的我一定是很興奮,很激動,好像終於盼到這一天了。但是我告訴你,其實興奮我是有一點的,但是絕對不是特別興奮,因為現在正值全球經濟冬天,找到乙份好工作不是一件容易的事情,所以我也沒有絕對的信心讓自己感到很興奮啊。之所以要用這個標題,是因為現在 找工作 這三個字在我們的周圍出現的概率越來越...
工作技能 找工作
1.c 找工作前刷300 500 leetcode 書單 c primer 繼承派生多型 虛基類等概念 區別 聯絡 effective c 繼承派生多型 虛基類等概念 區別 聯絡 設計模式 實現常用的設計模式就行 2.指令碼語言 推薦 阿銘學習linux 鳥哥的私房菜基礎篇 二選一 leetcode...
找工作有感
工作兩年了,又要面對新的一次的選擇,何去何從始終是乙個令我困惑的問題,從前糾結,現在糾結。記得有乙個名人說過痛苦不是沒有選擇的權利,而是沒有沒有選擇的權利。奮鬥不是最難的,最難的是抉擇。低頭做事,也要抬頭看路是吧。這段時間也更新了自己的簡歷,也有些公司給我打了 讓我去筆試和面試。找工作也是個人和公司...