[問題] 初學class, compile不會過

看板C_and_CPP作者 (疾風)時間15年前 (2010/11/24 12:54), 編輯推噓4(407)
留言11則, 6人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 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

11/24 12:57, , 1F
你犯了我 #1C3n2OvA 這篇提到的錯了
11/24 12:57, 1F

11/24 13:00, , 2F
class要放header,不要include cpp
11/24 13:00, 2F

11/24 13:09, , 3F
其實 include 什麼都可以, 就是不要引入到實作/定義
11/24 13:09, 3F

11/24 13:10, , 4F
自找麻煩
11/24 13:10, 4F

11/24 13:21, , 5F
但是還是要照慣例不要有特殊的怪癖好= ="
11/24 13:21, 5F

11/24 13:48, , 6F
『用C++這麼久,算是第一次要寫class 』
11/24 13:48, 6F

11/24 13:56, , 7F
樓上覺得哪裡有問題嗎?
11/24 13:56, 7F

11/24 14:00, , 8F
g++?你用 Linux 系統?!
11/24 14:00, 8F

11/24 14:02, , 9F
假如用M$系統,用VC++Express就好了,方便除錯。
11/24 14:02, 9F
我以前寫C比較多,雖然現在有在寫C++ 但是很多事情我還是都用function解決 沒有自己寫過class 我是用 win7 + Code block + gcc ※ 編輯: rock1985 來自: 108.6.65.99 (11/24 14:21)

11/24 14:30, , 10F
我又找了一些資料,大概知道問題出在哪裡了 謝謝大家
11/24 14:30, 10F

11/24 14:43, , 11F
XDD
11/24 14:43, 11F
文章代碼(AID): #1Cx9gMQw (C_and_CPP)