1樓:進口的楊
有一個比較基礎的知識叫做建構函式,你定義的count類沒有重寫你要求的建構函式,這樣他就採用預設建構函式,即什麼也不做。
你定義的kk類裡,你定義了一個建構函式,要求生成一個kk類的元素時,應該給這個kk類的元素一個初始化的過程,即:kk p(一個int值),這個int值將private 屬性的int 值 id 進行this->id=id;這個操作。而你實際在mian中使用kk類型別元素p的時候沒有這個初始化的操作。
所以會出錯。
修改方法,你把 kk p;這行 改成 kk p(隨便寫一個整數); 試試。
原因,定義了建構函式,而沒有按照這個方法來初始化 新申請的 kk類型別元素。(有可能我記錯了,但我整個回答就是按照這個原因來解釋的。按我的理解就是你重寫了建構函式,沒有重寫無參的建構函式,所以在申請無參的kk型別元素時報錯。
如有錯誤請指正)
建構函式:簡單說就是初始化一個類的時候進行的預設操作,可以給類的屬性賦值,可以執行一些函式等等等等。
2樓:匿名使用者
1、因為類只有一個建構函式kk(int),系統就不會生成預設建構函式,那麼kk p;沒有對應的建構函式,所以報錯。
2、由於類count沒有建構函式,所以系統會生成一個預設的建構函式,類似count() {},那麼count counter;就會呼叫預設建構函式。
C的小問題,C 的一個小問題
int n 2 label la new label n for int i 0 i n i 可以自己手動註冊和反註冊事件 如la i onclick 進行註冊,這連個符號是連一起的.你有vs時打到 時按下tab鍵,會幫你聯想出來,接著按下tab,你會有驚喜.哦.都幫你生成了.void button...
C語言小問題,關於,關於C語言的小問題?
a b max a max b 語法錯誤,該為 a b max a max b 另外注意 printf 最大值為 c n c 改正為printf 最大值為 d n c 已測試關於i 和 i的區別,如果沒有賦值的話,他們結果是沒區別的,關於他們的區別,我舉例說明 1 int i 0,a a i 這裡結...
c語言程式設計中的小問題,C語言程式設計的小問題
1 可以的。a int a 100 0.5 將第三位小數加上去,通過強制型別轉換,則會丟棄小數部分 a a 100 由於a是double型別,故商包含2位小數 a int a 100 0.5 100.0 這樣合併會得到相同的結果。2 可以這樣操作。a int a 100 100.0 問題一 可以寫成...