1樓:網友
宣告中不能初始化,因為宣告的時候並沒有分配儲存空間的。可以在建構函式中初始化,因為呼叫建構函式後表示給這個物件分配了空間。
2樓:網友
public class test {
public static void main(string args){
fortest f=new fortest(10);
/你的意思是這樣嗎? 類的成員在宣告時同時初使化?
class fortest{
int a=3;//成員變數宣告的同時初始化。
public fortest(int a){;
public int geta(){
return a;
就你的提問來看,有些概念你還不是很清晰(問得有些讓人聽不懂).如果不是我所說的上面這樣,請你貼出**來提問問題。
3樓:網友
什麼跟什麼哦,完全沒有搞清楚宣告和定義的含義,所謂宣告,只是給出函式或者類的原型。宣告只是告訴編譯器我要用這個了,具體工作都在類定義中完成。
而對於初始化,怎麼又冒出乙個建構函式初始化來了,從來沒聽過這個,建構函式的作用就是用來完成類成員的初始化工作的。
多看看書先,建議!
4樓:網友
一般都是在類的建構函式中對類中的成員變數進行賦值。
關於類的定義中的初始化
5樓:科技阿胡
類的初始化指用建構函式初始化:
1、在初始化列表中初始化與在建構函式的函式仿悔舉體中賦初值的區前冊別:定義是指開闢空間,初始化是指給乙個初值。在初始化列表中初始化時,定義和初始化同時備碧進行,因此初始化的順序與初始化列表的順序無關,只與宣告成員的次序相同;
2、必須使用初始化列表的成員,有些成員必須建構函式初始化列表中初始化,不可以在建構函式的函式體中初始化,如const成員或引用型別的成員。
宣告,定義,初始化的區別
6樓:匿名使用者
變數的定攜譽坦義(definition)用於為變數指定標示符、分配儲存空間,還可以為變數設定初始值。在乙個程式中,變數有且僅有乙個定義。下面的語句都是合法的定義:
int x;
int y=0; 這個也叫初始化,定義的同時賦值就是初始化。
乙個名字(標示符)能夠在c++程式裡使用之前必須首先宣告。也就是說,對於變數,必須刻畫清楚它的型別;對於函式必須刻畫清楚它的引數和返回值,以通知編譯器這個名字所引用的是哪一類實體下面是合法的宣告:struct user;
extern int x;
c/c++語言專門有乙個關鍵字(keyword)用於宣告變數或函式:extern。帶有extern的語句出現時,編譯器只是認為你要告訴它某個標示符是什麼,除此只外什麼也不做。
1、辯桐標示符的定義同時也是宣告。 在同乙個虛隱檔案內,在定義後面使用某個標示符時,可以只定義而不宣告(定義的時候已經宣告)。
建構函式是用來初始化所定義的物件,如果類中沒有定義任何建構函式,則該類的對
不對,c 裡不寫類的建構函式時,編譯器會為類建立一個預設的建構函式,雖然這個函式什麼都不做,但是類的物件還是會在此時初始化,不過,物件成員的值是隨機的,比如,指標型成員變數可能為null,也有可能不為null。 no如果使用者不提供建構函式,那麼編譯器就會自動合成一個預設建構函式 除非自定義一個私有...
C 在類中定義vector並初始大小的問題
1 陣列大小固定,速度較快,通用格式是 資料型別 陣列名 陣列大小 2 vector 是stl中的容器類,包含多種通用演算法,長度可變,使用靈活,但效率稍低,vector是使用 new 和 delete 來管理記憶體的。3 array 陣列模板 在c 11中才支援,通用格式 array 型別名,元素...
關於C 初始化的問題
程式的執行順序是.先引導程式到記憶體.初始化全域性變數.呼叫main函式 main函式退出 刪除全域性變數 其他收尾工作.所以一般來說是會輸出的.輸出在main函式被呼叫之前.析構函式輸出在main結束以後 之所以加個 一般 是因為cout也是個全域性變數,你不能保證cout在你的q之前被初始化.如...