作者bdvstg ( )
看板C_and_CPP
標題[問題] 類別的建構子
時間Sat Jan 15 14:21:18 2011
開發平台(Platform): vc2010
額外使用到的函數庫(Library Used): no
程式碼(Code):
http://codepad.org/lslk75US
#include <iostream>
using namespace std;
class ca
{
public:
int x;
ca()
{// 空建構子
x = 11;
}
ca(int v)
{// 參數建構子
x = v;
}
};
int main(void)
{
ca a; // x = 11; (空建構子)
ca b(); // ?????? (???????)
ca c(130); // x = 130;(參數建構子)
ca *d = new ca(); // x = 11; (空建構子)
ca *e = new ca(140); // x = 140;(參數建構子)
ca *f = new ca; // x = 11; (空建構子)
return 0;
}
補充說明(Supplement):
我寫了一個類別叫做ca
並以6種方法來宣告(a~f)
其中 "b" 不知道是甚麼
之前我一直以為這樣宣告,他會去呼叫空建構子
不過似乎不是,它好像就連calss ca也扯不上關係
我用debug去看 "b",甚麼都沒有顯示
其他的都有(x的值都是用debug看的)
不知道有沒有人知道 "ca b();" 這樣宣告出來的是甚麼東東?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.126.11.168
※ 編輯: bdvstg 來自: 140.126.11.168 (01/15 14:22)
→ james732:ca b(); 宣告一個函式叫做b,它會回傳ca 01/15 14:22
推 loveme00835:ca b(); 是宣告一個回傳值是ca的函式名為 b 01/15 14:22
→ james732:我比二樓快了幾秒 XDDD 01/15 14:23
推 chchwy:#1DAo9vxk 18013篇 我三天前才剛被混淆過XDDD 01/15 14:23
→ loveme00835:@_@ 01/15 14:47
→ bdvstg:所以是變成prototype的宣告.....了解 感恩~~~~ 01/15 15:05
推 awashharp:嗯嗯~那行就成了function signature的東西了 01/17 05:50