C 學習 靜態物件的初始化問題

2021-06-18 20:05:31 字數 656 閱讀 6071

我們設工程中有乙個標頭檔案depend.h, 在該標頭檔案中我們宣告了乙個類——initial, 同是定義了乙個initial類的靜態物件——static initial init。

**如下所示:

//// 檔案:depend.h

//#ifndef depend_h_

#define depend_h_

#include

using namespace std;

class initializer

/// 檔案:depend1.cpp

/#include "depend.h"

void outclassaddress1()

/// 檔案:depend2.cpp

/#include "depend.h"

void outclassaddress2()

extern void outclassaddress(); //宣告這個函式在別的檔案中已經定義過了,告訴編譯器放行,聯結器在連線的時候會自動到別的檔案中找這個函式

extern void outclassaddress1();

void mian()

outclassaddress();

outclassaddress1();

outclassaddress2();

靜態物件如何初始化?

介紹 當編譯乙個c 程式時,計算機的記憶體被分成了4個區域,乙個包括程式的 乙個包括所有的全域性變數,乙個是堆疊,還有乙個是堆 heap 我們稱堆是自由的記憶體區域,我們可以通過new和delete把物件放在這個區域。你可以在任何地方分配和釋放自由儲存區。但是要注意因為分配在堆中的物件沒有作用域的限...

C 物件初始化

形式 new t object 值初始化形式 new t object 預設初始化形式 new t object 二者區別 只要使用了括號 圓括號或花括號 就是值初始化。可以簡單理解為括號提醒編譯器你想要用某個值賦給物件。沒有使用括號,就是預設初始化。可以簡單理解成,你不加任何東西,編譯器就會使用預...

C 物件的初始化

建構函式和析構函式 建構函式和析構函式是在類體中說明的兩種特殊的成員函式。建構函式的功能是在建立物件時,使用給定的值來將物件初化。析構函式的功能是用來釋放乙個物件的,在物件刪除前,用它來做一些清理工作,它與建構函式的功能正好相反。下面舉一例子來說明建構函式和析構函式的特點 class tdate 類...