作者rock1985 (疾風)
看板C_and_CPP
標題[問題] 初學class, compile不會過
時間Wed Nov 24 12:54:42 2010
遇到的問題: (題意請描述清楚)
compile會出現錯誤訊息
希望得到的正確結果:
正常執行,印出key的id
程式跑出來的錯誤結果:
Compiling: main.cpp
Compiling: Key.cpp
Linking console executable: bin\Debug\SEproject.exe
obj\Debug\Key.o: In function `ZN3KeyC2Ev':
D:/test/SEproject/Key.cpp:18:ey()
obj\Debug\main.o:D:/test/SEproject/Key.cpp:18嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC1Ev':
D:/test/SEproject/Key.cpp:18:ey()
obj\Debug\main.o:D:/test/SEproject/Key.cpp:18嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC2Ei':
D:/test/SEproject/Key.cpp:23:ey(int)
obj\Debug\main.o:D:/test/SEproject/Key.cpp:23嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC1Ei':
D:/test/SEproject/Key.cpp:23:ey(int)
obj\Debug\main.o:D:/test/SEproject/Key.cpp:23嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3Key5getIdEv':
D:/test/SEproject/Key.cpp:28:etId()
obj\Debug\main.o:D:/test/SEproject/Key.cpp:28嚗梄洵銝胦活摮ꐊcollect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
0 errors, 0 warnings
(奇怪的亂碼 = =a 我看不懂)
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
gcc/g++
有問題的code: (請善用置底文標色功能)
main.cpp
#include <iostream>
#include "Key.cpp"
using namespace std;
int main()
{
cout << "Hello world!" << endl;
Key k1;
Key k2(5);
cout<<k1.getId()<<" "<<k2.getId()<<endl;
return 0;
}
Key.cpp
#include <iostream>
using namespace std;
class Key{
public:
Key();
Key(int);
int getId();
protected:
private:
int id;
};
Key::Key()
{
id = 3;
}
Key::Key(int a)
{
id = a;
}
int Key::getId()
{
return id;
}
補充說明:
用C++這麼久,算是第一次要寫class
不過真的很不熟 出了點問題
麻煩大家了
--
我不是宅 我只是比較居家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 108.6.65.99
推 loveflames:class要放header,不要include cpp 11/24 13:00
→ loveme00835:其實 include 什麼都可以, 就是不要引入到實作/定義 11/24 13:09
→ loveme00835:自找麻煩 11/24 13:10
推 loveme00835:但是還是要照慣例不要有特殊的怪癖好= =" 11/24 13:21
→ LoveBeef:『用C++這麼久,算是第一次要寫class 』 11/24 13:48
→ loveme00835:樓上覺得哪裡有問題嗎? 11/24 13:56
→ johnhmj:g++?你用 Linux 系統?! 11/24 14:00
→ johnhmj:假如用M$系統,用VC++Express就好了,方便除錯。 11/24 14:02
我以前寫C比較多,雖然現在有在寫C++
但是很多事情我還是都用function解決
沒有自己寫過class
我是用 win7 + Code block + gcc
※ 編輯: rock1985 來自: 108.6.65.99 (11/24 14:21)
→ rock1985:我又找了一些資料,大概知道問題出在哪裡了 謝謝大家 11/24 14:30
推 loveme00835:XDD 11/24 14:43