VC 基礎學習2

2022-08-12 20:00:20 字數 2048 閱讀 4057

在工程中建立若干使用者定義的

標頭檔案.h

和源程式檔案.cpp

。如果源程式檔案中有編譯預處理指令,則首先經過編譯預處理生成臨時檔案存放在記憶體,之後對臨時檔案進行編譯生成

目標檔案.obj

,編譯後臨時檔案撤銷。所有的目標檔案經聯結器連線最終生成乙個完整的

可執行檔案.exe

。下圖是乙個多檔案系統的開發過程。

不帶引數的巨集定義:用來產生與乙個字串(即巨集名)對應的常量字串,格式為:

#define 巨集名 常量串

帶引數的巨集定義:帶參巨集定義的形式很象定義乙個函式,格式為:

#define 巨集名(形參表) 表示式串

條件編譯指令包括:

#if、#else、#ifdef、#ifndef、#endif、#undef

等。可分為兩類:

用巨集名作為編譯的條件,格式為:

#ifdef《巨集名》

《程式段1>

[#else

《程式段2>]

#endif

用表示式的值作為編譯條件,格式為:

#if 《表示式》

《程式段1>

[#else

《程式段2>]

#endif

類定義的更關鍵部分是對資料成員的操作。這可以用函式來完成。這些函式也作為類的成員存在!

class cgoods

;         //注意一定要有;

這個描述商品的方案中,在類中引進了

成員函式

(或稱函式成員

)(member function),也就是函式也成了資料(類)中的

成員。成員函式可以直接使用類定義中的任一成員,可以處理

資料成員

,也可呼叫其他

函式成員

。類把資料(事物的屬性)和函式(事物的行為——操作)

封裝為乙個整體。

在前面,只對成員函式作了乙個宣告,或者講只給出了函式的原型,並沒有對函式進行定義。函式定義通常在類的說明之後進行。

商品類cgoods中的成員函式可以如下定義:(在前面的**後加上以下部分)

void cgoods::registergoods(char* name,int amount, float price)

//登記新商品

類是一種資料型別,定義時

系統並不為類分配儲存空間

,類只是乙個樣板,以此樣板可以在記憶體中開闢出乙個個同樣結構的例項——物件,

系統為物件分配記憶體

◆ 1、什麼是建構函式

建構函式是特殊的public型成員函式,其特徵如下:

函式名與類名相同。

建構函式無函式返回型別說明。注意是沒有而不是void,即什麼也不寫,也不可寫void!實際上建構函式有返回值,返回的就是建構函式所建立的物件。

在程式執行時,當新的物件被建立,該物件所屬的類的建構函式自動被呼叫,在該物件生存期中也只呼叫這一次。

建構函式可以過載。嚴格地講,說明中可以有多個建構函式,它們由不同的參數列區分,系統在自動呼叫時按一般函式過載的規則選乙個執行。

建構函式可以在類中定義,也可以在類外定義。

如果類說明中沒有給出建構函式,則c++編譯器自動給出乙個預設的建構函式:類名(void) ; ,不論自己定義還是c++編譯器給出,預設的建構函式只有乙個。

什麼是析構函式

當乙個物件定義時,c++自動呼叫建構函式建立該物件並進行初始化,那麼當乙個物件的生命週期結束時,c++也會自動呼叫乙個函式登出該物件並進行善後工作,這個

特殊的成員函式

即析構函式(destructor):

2、析構函式的使用

物件用完後,系統會自動呼叫的,不用煩了。但是,動態物件要記著自己主動釋放!

void cgoods::counttotal(void) //計算商品總價值

VC 學習筆記2

1 新增背景到 bitmap 資源裡。方法為 插入 資源 如果還沒有bitmap,則新建乙個bitmap,否則選擇資源 型別為 bitmap 後 引入 想要插入的背景,我加入的背景如圖1,加入過程如圖2。說明 引入的可以插入256色 16位色或更高色的,若是其他格式可用ps開啟再另存為bmp 24位...

VC基礎學習 開啟學習的契機

第三章 圖形和文字的輸出 為了達到裝置無關性,windows提供了gdi 圖形裝置介面,負責使用者繪圖 操作的轉換,使用者只需要和gdi提供的裝置環境打交道就行了。裝置環境類 mfc提供,cdc,cpaintdc,cclientdc,cwindowdc和cmetafiledc 功能描述 cdc 所有...

VC 學習(2) 掌握C

c 的標準輸入輸出流 c 中提供了一套輸入輸出流類的物件,它們是 cin cout 和cerr 對應c 語言中的三個檔案指標 stdin stdout stderr 分別指向終端輸入 終端輸出和標準出錯輸出 也從終端輸出 cin與 一起完成輸入操作,cout cerr 與 一起完成輸出與標準錯誤輸出...