[問題] member function中的static variable
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
一個member function中
code為:
宣告static int count=0
並且cout<<++count
main中有三個此類別的物件
個別呼叫一次此member function
其結果為:
1
2
3
與朋友討論之理由為
member function是class member共用的
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
有問題的code: (請善用置底文標色功能)
class Base {
public:
void foo() {
static int count=0;
cout<<++count<<endl;
}
};
Base tmp[3];
for(int i=0;i<3;i++)
tmp[i].foo();
補充說明:
想確定 是不是因為member function是整個class共用的
如果不是 那是什麼原因?
(是的話,還是覺得怪怪的XD)
--
╠═╬═卒═帥═馬═╬═╬═╬═╣
║ ║ ║ ║╲║╱║ ║ ║ ║ 此時,
╠═╬═╬═車═╬═╬═╬═╬═╣ 帥有何用?
║ ║ ║ ║╱║╲║ ║ ║ ║ 有車又如何?
╚═╩═╩═╩═╩═╩═╩═╩═╝ 有馬子又怎樣? ψKnicks
→ : 你錯了,當你有車跟帥的時候,馬是可以變成炮 卒就沒用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.24.21
※ 編輯: walm20 來自: 118.169.24.21 (12/30 01:23)
→
12/30 01:43, , 1F
12/30 01:43, 1F
→
12/30 01:43, , 2F
12/30 01:43, 2F
推
12/30 09:08, , 3F
12/30 09:08, 3F
→
12/30 09:08, , 4F
12/30 09:08, 4F
→
12/30 09:09, , 5F
12/30 09:09, 5F
推
12/30 13:05, , 6F
12/30 13:05, 6F
→
12/30 23:47, , 7F
12/30 23:47, 7F
→
12/30 23:48, , 8F
12/30 23:48, 8F
→
12/30 23:48, , 9F
12/30 23:48, 9F
→
12/30 23:50, , 10F
12/30 23:50, 10F
→
12/30 23:50, , 11F
12/30 23:50, 11F
→
12/31 01:16, , 12F
12/31 01:16, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章