Не могу использовать методы что находятся в файле human.cpp, а из human.h могу.
При вызове метода из human.cpp компилятор говорит:
undefined reference to `human::human(std::string, int)'
undefined reference to `human::getAge()'
Что я делаю не так?
main.cpp
#include <iostream>
#include "human.h"
using namespace std;
int main ()
{
human test("Bob", 54);
cout << test.getAge() << endl;
return 0;
}
human.h
#ifndef HUMAN_H
#define HUMAN_H
#include <iostream>
using namespace std;
class human
{
public:
human (string newName, int newAge);
void setName (string newName);
void setAge (int newAge);
string getName ();
int getAge ();
private:
string name;
int age;
};
#endif
human.cpp
#include "human.h"
#include <iostream>
using namespace std;
human::human (string newName, int newAge)
{
setName(newName);
setAge(newAge);
}
void human::setName (string newName)
{
name = newName;
}
void human::setAge (int newAge)
{
age = newAge;
}
string human::getName ()
{
return name;
}
int human::getAge ()
{
return age;
}
int main ()
{
return 0;
}
Кстати компилятор на human.cpp и human.h не ругается