已采納回答 / AAnonymous
p1 是一個對象, 分配在棧上p2是一個指針,指向p1這個對象,即p2指向p1在棧上的地址(并沒有創建新的對象)Coordinate *p2 = new Coordinate(); 才創建了新的對象,在堆上
2015-08-31
最贊回答 / 走進科學
1.如果有多個成員數據,構造函數可以一次給多個成員數據設定初始值,set函數一般都是一個成員數據對應一個set函數.一次只能設定一個.2.構造函數只能設定初始值,如果設定了初始值之后,又想要再更改這個值.那么就只能用set了.
2015-08-25
已采納回答 / onemoo
你的Coordinate類沒有定義默認構造函數,且因為你已經定義了一個構造函數,故編譯器也不會為你自動生成一個默認構造函數??墒窃趍ain函數中,第49行處你定義了一個Coordinate數組,這會對每一個元素進行初始化,由于沒有默認構造函數,所以沒有匹配的調用,編譯失敗。再有,假設你提供了默認構造函數,那么第51和53行就錯誤了,因為不能對已經初始化的對象再次調用構造函數。
2015-08-08
已采納回答 / IT飽
常成員函數:如果一個成員函數對類中數據成員只作訪問而不作直接或間接的修改,則最好將此函數設置為常成員函數,以明確表示它對數據成員的保護性。常對象:必須進行初始化,常對象只能...
2015-07-25
已采納回答 / 攻城small獅
可能你在Line.h和main.cpp里都包含了Coordinate.h,試試去掉main.cpp里的,只保留Line.h里的 我就是這種情況,去掉就好了
2015-07-12