C 程式設計經驗彙總(未完)

2021-04-01 02:08:04 字數 2578 閱讀 9009

過程化語言

一、函式

1、過載函式需要在引數個數、引數型別或引數順序上有所不同。

2、預設函式從右往左逐漸定義

3、內聯函式不允許有複雜的結構控制語句。遞迴函式不能用來作內聯函式

4、函式的返回值時將值賦予乙個生命期極短的臨時變數,在完成返回值賦值後,該臨時變數銷毀。

5、匹配過載函式的順序:尋找嚴格的匹配

->

用過內部轉換需求乙個匹配

->

通過使用者定義的乙個轉換尋求匹配。

二、陣列

1、二維陣列可以通過將為進行順序操作。此時傳遞的是二維陣列首元素位址。

三、引用

1

、引用在宣告時必須初始化,但它不佔記憶體空間。

2、不許對

void

型別的元素、陣列和

null

進行引用。

3、不許引用乙個非返回引用的函式的返回值。

4、而返回引用的函式返回時不產生臨時變數,但它返回的須是乙個全域性變數或靜態變數,否則返回值會在函式結束後銷毀造成無值返回。

5、返回引用時的函式表示式可以作為左值。

6、可以通過加

const

防止修改所引用單元的值。形式為:

形參:const int &a

,實參為:

a

物件導向程式設計

一、堆與拷貝建構函式

1

、拷貝建構函式的形參必須是引用方式!

2、當類需要析構函式需要析構資源(比如堆資源),則它也需要乙個拷貝建構函式。

3

、建構函式用於型別轉換,使用者告知的方式是定義乙個帶引數的建構函式,而只嘗試含乙個引數的建構函式。

二、類的派生與繼承

1、派生類的構造順序是:先用它基類的建構函式構造它的基類成分,再用它自己的建構函式構造它自身成分。

2、若想把類作為函式的形參,接受可能傳遞的基類和其派生類,則這個形參必須是基類型別。這也就是遲後聯編,也叫多型性,是物件導向程式設計語言的特性之一。其他兩個是封裝性和繼承。這個基類形參可以實現基類和派生類宣告的基類虛函式。、

3、若是使用虛函式,必須在基類的函式宣告中加

virtual

,否則在傳參呼叫派生類的函式時,會被認為是基類的。而只有在加上

virtual

後,編譯器才會進行遲後聯編。

4、虛函式要求:函式名相同、函式型別相同、返回型別相同。否則即使加了

vitrtual

也不被認為是遲後聯編。在

vc++

中,即使是返回基類指標的成員函式也要求派生類返回的是基類的。

5、抽象類只是被用於繼承,它至少有乙個純虛函式,即標記為不具體實現的成員函式,而由抽象類的派生類對它進行不同的定義。抽象類不能有例項。純虛函式是為派生類在基類中保留的乙個位置。假如有個指向抽象類的指標,進行乙個沒在抽象類中宣告的函式,則無法進行。則在繼承中普遍存在,即基類指標只能操作基類成員,和識別派生類中的虛函式。

三、多重繼承

1

、多個類繼承乙個類,可在繼承中加

virtual

,表示「如果還沒有

a類,則加入乙個

a的拷貝,否則就用已有的那個」,這樣各以防止多重繼承類的模糊性。

2、多重繼承的構造順序是:虛擬繼承類

->

非虛擬繼承類

->

成員物件

->

類的建構函式。3、

訪問方式

繼承型別

public

protected

private

public

public

protected

private

protected

protected

protected

private

private

private

private

private

基類中的

private

成員不可被繼承。而

protected

和private

派生的不是之類,因為它們所派生的類不能做基類能做的事,但可以在其

public

中呼叫其基類的函式完成呼叫。

四、運算子過載

1

、過載的形式:返回型別

operator

運算符號(引數說明);。2、

.::. *. ->? :

不可被過載。3、

operator +

由值返回是因為它需要乙個臨時空間存放結果,如果用引用返回則不產生臨時空間,無法存放結果。

而operator ++

由引用返回是因為它修改了自己的引數,需要返回引用以不產生臨時變數而直接修改本身。若用臨時變數返回的話,臨時變數得到修改,而它本身卻沒能得到完全的修改。

VC程式設計經驗彙總 一

1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...

VC程式設計經驗彙總 二

6.如何建立可伸縮的對話方塊 在進行對話方塊的設計時,有時候我們需要設計可伸縮的對話方塊,當使用者按下某個按鈕時彈出或隱藏對話方塊的下半部分。1 首先在對話方塊中建立乙個控制項把 id設為 idc divider type 設定為矩形,color 設定為黑色,並將其設定為一線狀,拖放在適當的位置做為...

VC程式設計經驗彙總 一

1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...