[問題] 想請問建構子及解構子的疑問?

看板C_and_CPP作者 (平凡是淋漓盡致的美)時間12年前 (2013/11/08 03:17), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/2 (看更多)
問題(Question): 1.想請問建構子的作用是不是針對”類別”內所設定的屬性,產生出物件的時候    做初始化的動作,除了這個作用還有別的嗎(請問我這個觀念是正確的嗎)? 例: class person { public: int age; person()//建構子          { age=20; }          ~person();//解構子 }; int main() { person p;//此時產生一物件並填上值為20 } 2.之前上課老師寫的順序是這樣,想請問這樣編寫是會有影響還是沒有影響的? 例:   class person { 建構子;     解構子; 屬性;    行為; } 問題點:這樣建構子寫在前面是不是編譯會有問題,順序是不是要調整? 3.看過建構子帶參數的狀況,什麼情況下會有這種情形出現??  可以舉個例子讓我了解嗎??  以上問題,謝謝回答,感恩。 -- 頭過,身就過。 關關難過,關關過。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.87.239

11/08 03:30, , 1F
其實age=20不是初始化
11/08 03:30, 1F

11/08 03:46, , 2F
是設定(set),不能初始化(init)
11/08 03:46, 2F

11/08 07:17, , 3F
class中所有函數或屬性 定義/宣告順序都沒差
11/08 07:17, 3F

11/08 07:18, , 4F
因為new instance前肯定全都定義/宣告了
11/08 07:18, 4F

11/08 07:19, , 5F
3 => Ex. new Image(width, height) <= 建構子有參數
11/08 07:19, 5F

11/08 12:29, , 6F
2樓說的是 initialization list
11/08 12:29, 6F
文章代碼(AID): #1IU-SjsS (C_and_CPP)
文章代碼(AID): #1IU-SjsS (C_and_CPP)