c關於建構函式的問題,C 關於建構函式的一些問題。

時間 2022-05-14 08:30:08

1樓:

根據c++對於虛基類的建構函式「最晚輩派生」呼叫規則,所有的虛基類的建構函式都要由 a 的建構函式最先呼叫,系統中有兩個虛基類:c 和 e,但由於 e 是 c 的基類,所以 e 的建構函式要先呼叫(這是第1),c 還有一個基類是 d,也要呼叫建構函式(這是第2),然後才是呼叫 c 的建構函式(這是第3)。

c 初始化完後,再初始化 b,而 b 兩個基類 d 和 e,e 是虛基類,已經初始化過了,然後是基類 d,要先呼叫其建構函式 (這是第4),然後是 b 自己的建構函式呼叫(這是第5)。

c 和 b 都初始化完成了,最後呼叫 a 的建構函式(這是第6)。

所以整個的順序是 e,d,c,d,b,a。

2樓:匿名使用者

整個程式如下:

#include

#include

#include

using namespace std;

class name

採用帶1個形參的建構函式,你輸入的時候輸入wan,就會把名字儲存為wangwu,並且顯示~

3樓:匿名使用者

先說一下:建構函式不是這麼用的。(⊙﹏⊙)b

非要這麼寫的話,就直接在建構函式裡面輸入三個字母,然後判斷是哪個名字的前三個字母再輸出就好了。就把建構函式當一個普通的函式(或者直接當main函式來用)。

c++ 關於建構函式的一些問題。 100

4樓:匿名使用者

這個不是一個建構函式,是一個成員函式

用於將傳來的物件初始化當前物件,並返回當前物件的引用

建構函式是不可以有返回值的。

【c++】關於建構函式和解構函式的問題

5樓:veket的小號

sample(int a,b) b前少個int

6樓:祜風

#include

using namespace std;

class sample

sample(int a,int b)

~sample()

程式呼叫的是sample帶參建構函式

c++關於建構函式的初始化問題

7樓:匿名使用者

建構函式執行的過程有兩步。

一是初始化,就是你說的: x(0) , y(0)。

二是執行函式體。

注意如果沒有顯式指明x(0) , y(0)(你的第一種),即沒有顯式的呼叫x,y的建構函式進行初始化,x,y仍然會被初始化(呼叫預設建構函式)

8樓:匿名使用者

cmfcview::cmfcview()

: x(0)

, y(0)

中的0 , 0 就是你在初始化x,y時直接對他們進行的賦值,效率高而已。

9樓:春雨_潤物

這叫作:初始化列表,用把括號裡的值賦值,效果一樣,不過有些情況必須這樣寫,你可以查查,樓上的說的只是一種情況。大括號裡是對派生類新增資料成員賦值用的。

10樓:匿名使用者

一般純粹是初始類中私有資料成員的時候,才會用第二種.函式體裡面不用加任何其它語句了.

11樓:

「:」後面叫初始化列表

效果一樣也是 x = 0;y = 0;

c++關於建構函式呼叫問題

c 拷貝建構函式的問題,c 拷貝建構函式問題

你原來的程式就有些小問題,幫你也改了一下。在下面。include include using namespace std class location 建構函式1 location location int a int b double location distance location loc1...

c中建構函式與解構函式的問題,C 中建構函式與解構函式的問題

你的getname函式在 你的類定義中只有getscore和getid c 關於建構函式和解構函式呼叫次數的問題 沒問題啊。引數傳遞的時候第一次拷貝構造呼叫,在函式返回的時候賦值給c2 再次呼叫了拷貝構造。析構的話 c1 c2 c 三次 傳遞引數和返回引數各一次拷貝建構函式,所以是2次 有兩個物件c...

求C 拷貝建構函式

q嘿仔 include using namespace std template class cmatrix nrow row ncol col 預設建構函式 void setcmatrix int row,int col,const t data 鍵盤輸入 void show 輸出 void in...