物件資料成員的初始值

2021-10-09 20:31:21 字數 623 閱讀 3791

物件的建構函式的作用是初始化類的成員變數,但是如果我們不顯式定義建構函式,編譯器就會給我們定義乙個預設建構函式;這個預設建構函式中其實是什麼都沒有做的,如果這樣,我們生成該類的物件之後,它的資料成員值為多少呢?

具體程式如下:

#include using namespace std;

class base;

base b;

int main()

編譯程式並多次執行上述程式,發現三次執行結果都不相同

base->val is:8002976

b.val is:0

c.val is:0

base->val is:7412416

b.val is:0

c.val is:0

base->val is:16325312

b.val is:0

c.val is:0

對上述程式執行結果分析可得出以下結論:

注意:以上2、3 結果為理論結果,本人實測使用mingw(windows)和ubuntu下分別編譯,程式執行結果不同

ubuntu下,base->val始終為0,而c.val為隨機數,二者正好相反

DateTime 賦初始值

今天在將資料庫裡的datetime型別資料賦給c 裡datetime型別變數的時候遇到乙個問題,那就是資料庫裡面的datetime資料存在null值。c 預設不能將null賦給datetime變數,但是可以使用nullable型別的datetime,只需在宣告變數的時候在datetime後加乙個?號...

易語言 資料型別的初始值

初始值如下 l 0 位元組 變數的內容 l 0 短整數 變數的內容 l 0 整數 變數的內容 l 0 長整數 變數的內容 l 0 小數 變數的內容 l 0 雙精度 小數變數的內容 l 假 邏輯變數的內容 l 1899年12月30日 日期時間 變數的內容 l 0 文字變數 中文字的長度 l 0 位元組...

易語言 資料型別的初始值

初始值如下 l0 位元組變數的內容 l0 短整數變數的內容 l0 整數變數的內容 l0 長整數變數的內容 l0 小數變數的內容 l0 雙精度小數變數的內容l假 邏輯變數的內容 l1899年12月30日 日期時間 變數的內容 l0 文字變數 中文字的長度 l 0 位元組集變數 中位元組的數目 由上面的...