Я новичок в C++, но имел некоторый опыт работы с java. Я пытаюсь создать класс, но когда я попытаться сделать новый метод в классе я получаю несколько ошибки (это мой файл .cpp)Невозможно создать метод в классе
//.cpp file
#include "Test.h"
#include "Test.h"
#include <iostream>//unresolved inclusion
using namespace std;
void speak() {
if (happy) {//Symbol hapy could not be resolved
cout << "Meouw!" << endl;
} else {
cout << "Ssssss!" << endl;
}
}
void Test::makeHappy() { // member decleration not found
happy = true;//Symbol hapy could not be resolved
}
void Test::makeSad() { // member decleration not found
happy = false;//Symbol hapy could not be resolved
}
я не получаем никаких ошибок в моем файле хедер, но включили его только в случае, если
#ifndef TEST_H_
#define TEST_H_
class Test {
private:
\t bool happy;
public:
\t void makeHappy();
\t void makeSad();
\t void speak();
};
#endif /* TEST_H_ */
Finally I have another .cpp file I use which also gets errors
#include <iostream>//unresolved inclusion
#include "Test.h"
#include "Test.cpp"
using namespace std;
int main() {
\t Test jim;
\t jim.makeHappy();//method make happy could not be resolved
\t jim.speak();//method speak could not be resolved
\t Test bob;
\t bob.makeSad();//method make happy could not be resolved
\t bob.speak();//method speak could not be resolved
\t return 0;
}
This is the new error message I get when compiling
<!-- begin snippet: js hide: false -->
Извините, если этот вопрос является открытым закончилась, но я просто не могу найти ответы в другом месте.
Изменения в 'ничтожной Test :: говорят() { 'как это сделано с другими методами. –
Общее правило: исправить первую проблему. Часто компилятор путается ошибками, а дальнейшие ошибки исчезают, если исправлены предыдущие ошибки. – gnasher729
Очень важно, чтобы другие комментарии и ответы отсутствовали: Не включайте файл .cpp. – Chris