У меня есть два файла:
File1.cpp
File2.cpp
File1 - это мой основной класс, который имеет основной метод, File2.cpp имеет вызов класса ClassTwo, и я хочу создать объект ClassTwo в файле File1.cpp
Я скомпилирую их вместе
g++ -o myfile File1.cpp File2.cpp
но когда я пытаюсь создать
//создать объект класса 2
ClassTwo ctwo;
Это не работает.
Ошибка была
ClassTwo не был объявлен в этой области.
Это мой main.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
//here compile error - undeclare ClassTwo in scope.
ClassTwo ctwo;
//some codes
}
Вот мой File2.cpp
#include <iostream>
#include <string>
using namespace std;
class ClassTwo
{
private:
string myType;
public:
void setType(string);
string getType();
};
void ClassTwo::setType(string sType)
{
myType = sType;
}
void ClassTwo::getType(float fVal)
{
return myType;
}
Получил ответ на разделение файла File2.cpp на другой .h файл, но если я объявляю класс, как разбить его на другой файл .h, так как мне нужно поддерживать public и private переменной (private) и функции (public) и как я могу получить ClassTwo для моего File1.cpp по основному методу