[問題] constructor(建構子)reuse
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
我想要Java裡面this constructor的功能
我有一個class
class myClass{
private:
int k;
public:
...
}
myClass::myClass(int num){
k=num;
}
myClass::myClass(){
myClass(0);
}
結果我發現myClass(0)只是創造出一個暫時的物件
不會去改到k的值
改寫成:
(*this)=myClass(0);
是否正確?
或有其他寫法?
--
儘管生命的起源只是一種化學反應
儘管人類的存在只是記憶數據的影子
儘管靈魂並不存在,精神只是神經細胞的火花
儘管世上沒有神,人一定要靠一己之力在這殘酷的世界中掙扎求存
我還是......
我還是...... 要以意識之名命令你───「活下去」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.85.231
→
03/20 12:00, , 1F
03/20 12:00, 1F
推
03/20 12:06, , 2F
03/20 12:06, 2F
我試了這段程式碼
class X {
int i_;
public:
X( int i ) : i_(i) { }
X() : X(42) { } // i_ == 42
};
他報錯:
error: type 'X' is not a direct base of 'X'
是我會錯意嗎?
推
03/20 12:10, , 3F
03/20 12:10, 3F
我用的是code::block和mingw包在一起的IDE,不知道有沒有支援?
這是要傳到ACM online judge的東西,他是寫
C++ 4.1.2 - GNU C++ Compiler with options: -lm -lcrypt -O2 -pipe
-DONLINE_JUDGE
這compiler夠新嗎?
→
03/20 14:18, , 4F
03/20 14:18, 4F
※ 編輯: henry666666 來自: 111.251.193.14 (03/20 15:05)
→
03/20 15:29, , 5F
03/20 15:29, 5F
→
03/20 15:30, , 6F
03/20 15:30, 6F
推
03/20 15:31, , 7F
03/20 15:31, 7F
→
03/20 15:31, , 8F
03/20 15:31, 8F
→
03/20 15:31, , 9F
03/20 15:31, 9F