C 中的問題

2022-08-24 04:00:13 字數 573 閱讀 8799

1樓:匿名使用者

首先c繼承a 所以先要執行a的建構函式 因為c是a的派生類 如果沒有先生成基類a 那麼c無法取得基類a中的函式 所以要先構造基類a 分配a類中函式的記憶體 讓c來繼承

構造完a c將會先分配記憶體 所以先要分配成員函式記憶體 也就是b b; 執行b的建構函式 就好比說 一般建構函式都是用來初始化的對吧 所以在初始化之前的變數是要分配記憶體的 因此b的建構函式要比c先

最後是c的建構函式

綜上所述

首先要分配基類的地址記憶體 執行基類的構造 用來給派生類(基類也是要先分配成員變數記憶體的)

然後才是 派生類

所有的類 都是先分配成員變數的記憶體 然後在執行建構函式如果在a中也加入b的成員變數 那麼將輸出babc

2樓:′淺藏版

因為 #include

using namespace std;

class a

};class b

};class c:public a

};int main()

你**有問題 你把a改成c你看又變了

c 指標陣列問題,C 中關於指標陣列的問題。

是錯誤的。char cchar count 宣告瞭cchar是有count個元素的陣列,每個元素都是指向char型變數的指標。但cin cchar i 卻試圖給cchar的第二個元素 指標 賦一個鍵盤值 這裡指標還沒有確定指向,是隨機的,它隨機地指向了不能寫入的地方,就要出錯。這裡應該先給指標陣列賦...

C 中的if語句,C if語句問題

是賦值號,不是等號。if j i 1 是令j i 1,再判斷j是否不為0。不為0,則if成立。if j i 1 則是判斷j是否和i 1相等,相等則if成立。第一個是賦值語句,不行 第二個才是邏輯判斷的 if j i 1 表示 如果把i 1的這個值給j,if j i 1 表示 如果j等於i 1的話,一...

關於C中的SQL引數問題

我把欄位做字元型別的,加了單引號 string sql insert into 表名 欄位1,欄位2,values textbox1.text.trim textbox2.text.trim 或者string sql string.format insert into 表名 欄位1,欄位2,valu...