c 學習之一

2021-04-13 06:30:48 字數 892 閱讀 5897

建構函式不要為虛(virtual),vc++6.0反正不支援,報錯為「error c2633: 'a' : 'inline' is the only legal storage class for constructors」 ,據說cb支援,不過,建構函式本來就沒必要為虛,物件初始化時肯定是要呼叫的;不過,有派生類時析構函式最好還是來虛的....

delete            

a aa;

delete aa;

b bb;b*

pb =

&bb;

delete pb;c*

pc =

newc;

delete pc;

在上面的**中aa,bb刪除都是不成功的,簡單來說new與delete應該是成對出現

3. 預編譯標頭檔案(precompiled header)

預設的就是stdafx.h,記住每個新加的cpp檔案的最開頭都要include,詳情參閱

這裡4. c++物件記憶體布局  

普通成員函式,靜態成員函式,及靜態成員變數皆不會在類的物件中有所表示,成員函式和物件的關            聯由編譯器在編譯時處理,正如我們會在後面看到的那樣,編譯 器會在編譯時決議出正確的普通成員函式            位址,並將物件的位址以this指標的方式,做為第乙個引數傳遞給普通成員函式,以此來進行關聯。靜態            成員函式類似 於全域性函式,不和具體的物件關聯。靜態成員變數也一樣。靜態成員函式和靜態成員變數和            普通的全域性函式及全域性變數不同之處在於它們多了一層名字限定。        

關於普通繼承,子類的物件布局為父類中的資料成員加上子類中的資料成員,多層繼承時(如c016),            頂層類在前,多重繼承時則最左父類在前

詳情參閱

此處

C 學習摘要之 一

一 c 的特點 1 語法簡潔 c 不允許直接記憶體操作 c 沒有指標 c 的關鍵字更加明了.2 物件導向設計 c 中的每種型別都可以當作是物件 c 只允許單繼承,也沒有全域性變數和全域性常數,所有的一切都必須封裝在 乙個類中,使 具有更好的可讀性,差減少命名衝突的可能.3 與web緊密結合 網路服務...

從零開始學習c 之一

慣例第一步 寫乙個helloworld程式 使用的ide是visual studio 2017 include using namespace std int main 輸出結果 helloworld 解析 include 這行代表下面程式引用了標頭檔案iostream input output s...

C 學習之一 基礎知識

1 console類中的常用方法 列印資料函式 列印資料之後不換行 console.write 圓的周長 c 列印資料之後換行 console.writeline c console.write 圓的周長 c console.writeline c console.writeline 圓的面積 s ...