У меня проблема с компиляцией.
- У меня есть один класс
- У меня есть один заголовочный файл
- И, конечно, Main, чтобы проверить мою работу.
Но яполучаю ошибку компиляции, из моего понимания, что я делаю неправильно.
Заголовочный файл:
#ifndef AGENT_H
#define AGENT_H
using namespace std;
class Agent
{
public:
Agent(string);
virtual ~Agent();
private:
string name;
};
#endif /* AGENT_H */
Класс агента (Agent.cpp)
#include "Agent.h"
using namespace std;
Agent::Agent(string _name)
{
this->name = _name;
}
Agent::~Agent()
{
delete this->name;
}
И мой главный:
#include <cstdlib>
#include <iostream>
#include "Agent.h"
using namespace std;
int main(int argc, char** argv)
{
Agent agent1("Danila");
return 0;
}
Итак, я получаю такую странную ошибку:
undefined reference to `Agent::Agent(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/main.cpp:17: undefined reference to `Agent::~Agent()'
/main.cpp:17: undefined reference to `Agent::~Agent()'
Не могли бы вы, ребята, помочь мне понять, что там не так?