Здравствуйте, я пишу небольшой проект на c ++, где я хотел бы иметь некоторые классы, которые делают некоторую работу, я написал интерфейсы и реализацию классов.
Меня удивляет то, что у меня не может быть простого класса без main (), я хотел бы иметь класс, который когда-то будет создан, его методы можно вызывать, делать что-то, но мне это не нужно хочу) main () в реализации класса.
Вот пример того, что я хотел бы иметь в своей голове:
файл animal.h:
class animal
{
public:
animal();
~animal();
public:
int method1(int arg1);
private:
int var1;
};
file animal.cpp:
#include "animal.h"
animal::animal(){...}
animal::~animal(){...}
int animal::method1(int arg1){return var1;}
}
И я хотел бы вызвать класс животных из другого файла и заставить его работать, что-то вроде этого:
файл app.cpp:
#include <neededlib>
#include "animal.h"
int main()
{
animal dog;
cout << dog.method1(42);
return 0;
}
Но компилятор даст мне
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../crt1.o: In function _start:
"(.text+0x18): undefined reference to `main`"
collect2: ld returned 1 exit status
для animal.cpp, но мне там не нужна сеть, или она мне нужна?
Где я не прав?