Tôi đang cố triển khai lớp trong các tệp cpp khác nhau. Tôi hiểu nó là một điều hợp pháp để làm trong C++ nếu các hàm thành viên là độc lập. Tuy nhiên một trong những chức năng thành viên sử dụng chức năng thành viên khác chẳng hạn như trong trường hợp này:Thực hiện lớp trong nhiều tệp
Trong function1.cpp
#include "myclass.h"
void myclass::function1()
{
function2();
}
Trong function2.cpp
#include "myclass.h"
void myclass::function2()
{
....
}
tôi sẽ nhận được một lỗi tham chiếu không xác định để function2. Nó không hoạt động bằng cách thêm con trỏ này. Tôi có cần khai báo nó theo cách nào đó trong hàm1.cpp không? Cảm ơn ~
Tệp tiêu đề bao gồm khai báo cả hai hàm. Nó hoạt động khi hàm 1 và hàm 2 nằm trong cùng một tệp nhưng không phải khi tôi tách chúng. Tôi cũng tin rằng tôi đã thêm cả cpp vào dự án. Tôi đang sử dụng Qt creater btw.
bạn đã khai báo cả hàm function1() và hàm2() trong lớp myclass.h chưa? – nobody
Bạn cần có các khai báo hàm của cả hai hàm trong tệp tiêu đề (myclass.h). – Sujoy
Bạn có thể thêm tệp myclass.h của mình không? Có thể một số lỗi với khai báo lớp - vì những tình huống đó là ok, và lỗi không được ở đây – Olympian