Chúc mừng mọi người.Khai báo đối tượng lớp trong tệp tiêu đề
Tôi dường như đang bị lừa trên một quỹ đạo nhưng tôi không thể tìm thấy giải pháp ở bất cứ đâu. Anywho, sẽ tiếp tục và giải thích.
Tôi có một chương trình bao gồm ba tệp; main.ccp, add.h, add.cpp.
Tôi tuyên bố lớp 'SA' trong add.h và có tất cả chức năng của tôi được định nghĩa trong add.cpp
additional.h
class SA {
...
public
int x;
} Obj1, Obj2;
main.ccp
#include "additional.h"
int main() {
Obj1.x = 5;
...
}
này cung cấp cho tôi lỗi liên kết khi biên dịch: lỗi LNK2005: "class SA Obj1" (? Obj1 @@ 3VSA @@ A) đã được xác định trong main.obj
Định nghĩa duy nhất của đối tượng xảy ra trong add.h, và không có nơi nào khác. Chương trình biên dịch chỉ tốt nếu khai báo các đối tượng trong chính và không phải là tiêu đề:
main.ccp
Vấn đề là tôi muốn sử dụng các đối tượng primarially trong add.cpp, nhưng vẫn cần để khởi tạo một số giá trị công khai thông qua main.cpp. Bất kỳ từ nào của sự khôn ngoan?
hoàn hảo. Cảm ơn bạn! – Raugnar