Заголовок класса C ++ и ошибка реализации

Я только недавно начал возиться с отдельными файлами классов в C ++, и это была моя первая попытка:

Сначала я сделал заголовок класса с именем «ThisClass.h»:

//ThisClass.h

#ifndef THISCLASS_H
#define THISCLASS_H

class ThisClass
{
private:
int x;
float y;

public:
ThisClass(int x, float y);
void setValues(int x, float y);
int printX();
float printY();
};
#endif // THISCLASS_H

Затем я реализовал свой класс в файле с именем «ThisClass.cpp»:

//ThisClass.cpp

#include "ThisClass.h"
ThisClass::ThisClass(int x, float y)
{
this->x = x;
this->y = y;
}

void ThisClass::setValues(int x, float y)
{
this->x = x;
this->y = y;
}

int ThisClass::printX()
{
return this->x;
}
float ThisClass::printY()
{
return this->y;
}

Наконец, я сделал файл с именем «main.cpp», где я использовал класс:

//main.cpp

#include <iostream>

using namespace std;

int main()
{
ThisClass thing(3, 5.5);
cout << thing.printX() << " " << thing.printY()<< endl;
thing.setValues(5,3.3);
cout << thing.printX() << " " << thing.printY()<< endl;
return 0;
}

Затем я скомпилировал и запустил эту программу через Code Blocks, которая использует компилятор MinGW, и получил следующие ошибки:

In function 'int main()':|
main.cpp|7|error: 'ThisClass' was not declared in this scope|
main.cpp|7|error: expected ';' before 'thing'|
main.cpp|8|error: 'thing' was not declared in this scope|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Я что-то делаю не так? Любая помощь будет оценена.

0

Решение

Ты забыл #include "ThisClass.h" в main.cpp,

2

Другие решения

Как уже ответили, что вы забыли поставить #include "ThisClass.h"в main.cpp,

Просто сделайте это, и ваш код будет скомпилирован.
Я просто хочу ответить на ваш вопрос —
Однако теперь моя консоль ничего не выводит, хотя у меня есть 2 вызова cout
Пожалуйста, поставьте getchar() до return в main функция, это позволит вам увидеть ваш вывод.

0

По вопросам рекламы [email protected]