1.
c語言的結構體是不能有成員函式的,但是
c++
中可以的。這樣的話
c++中的結構體和類的作用是相同的,但是
c++
中的結構體和類也是有區別的區別就是類可以定義其訪問許可權,而結構體不同,不能定義其訪問許可權。結構體和類在
c++中是可以通用的。 2.
類是抽象出一些基本屬性,物件是具有具體屬性值。物件是具體的,有生命的。類的例項,就是產生乙個類的物件。 3.
函式的過載,一般是引數不同時,才能構成函式的過載,即函式名相同的,但是引數的個數不一樣的時候構成函式的過載,但是也有例外,帶預設值的函式不能構成函式的過載。 4.
指標才用的到指向操作符-> this
指標 產生物件之後,並不是類。類是抽象的並不占用記憶體空間,只有例項化之後才占用記憶體空間。 5.
類的繼承 class fish
:publish animal {} 6.
protected: 方法可以被子類呼叫但是不能在外部物件中被實現。保護的方法,在物件裡都不可以訪問。 7.
類的繼承方法 class fish
:publish animal {}class fish
:protectedanimal {}class fish
:private animal {} 8.
構造物件是,基類的物件是先被構造的,然後是構造子類的物件,當進行析構的時候,子類先析構,然後父類在析構。 9.
對於乙個類來說,預設可以不寫建構函式,但是當我們自己定義乙個建構函式的時候,無論是帶引數還是不帶引數,c++
編譯器都不會為我們提供預設的建構函式了,以我們自己的建構函式為準。
10.類的繼承的過程中,有可能父類構造的時候需要引數,則子類的建構函式中必須向父類提供其構造所需要的引數。
class animal }
class fish : public animal
11 類中常量的初始化,
private
:const int a
;此時應該在構造的時候
fish
():animal
(400
,300),a
(1)
12.區別函式的覆蓋與函式的過載
。函式的覆蓋,發生在父類和之類之間的,函式的過載發生在乙個類之間的,當我們繼承乙個類的時候,重寫乙個父類的函式就是函式覆蓋。
13.c++的多型型,虛函式,用一句話總結就是:我們在基類中相應的函式前面加上
virtual
如果子類有這個函式則呼叫子類的,子類沒有則呼叫父類的函式。
前提條件是你傳遞的是子類的位址。 14
void fn(
animal *pan)
main()
c++ 的純虛函式,沒有函式實體的虛函式,子類必須給出函式的實現過程,否則不能根據這個類來實現某個物件。兩個要求:
1.必須的
2.無法直接定義函式的具體函式。
15 c++ 引用和指標的區別,引用不需要佔據記憶體空間,相當於乙個變數的別名,但是指標是需要佔據記憶體空間的,我們分配一塊記憶體空間去儲存另乙個變數的記憶體位址。定義引用的方法
int &b=a;
引用要慎用,主要用於
mfc
函式的傳遞引數。
void change(
int &a
, int &b)
change(x,y);
實際上只的是同乙個記憶體空間。
VC 學習筆記(二) VC 與C VB和C
羅馬不是一天建成的,vc 的也不是憑空產生的 它一直標榜自己的從c發展而來的。vb好像是專門為了羞辱vc 而建立的。c 呢,是微軟類c語言的新秀 其實也不新了。亂吧?貌似挺亂的,其實這裡有章可循。純粹的c 是從c發展而來的,是要用oo這個理念來度化廣大c程式設計師,讓他們離苦得樂的。純粹的c 語言很...
VC學習筆記
1 全域性變數和類在入口函式前執行。2 lpctstr為長字串,賦值要用l string 的格式。3 新增和刪除成員函式都是在類屬性裡操作的。4 vs2008對選單的設定都是在屬性裡,新增command訊息也是在相應類的屬性裡。5 settimer 可以隨時使用。設定之後便可以加訊息處理。6 在標頭...
VC學習筆記
程式的建立步驟 1建立框架和對話方塊 2 建立對話方塊對應的對話方塊類 cpassworddlg 由cdialog 派生 並為此對話方塊類增加成員變數 用於獲取放置於編輯框中的密碼內容 m strpassword 3修改對話方塊類的建構函式,對新增加的對話方塊成員變數賦初值 4 在程式主檔案 pas...