您好,我正在用 C++ 编写一个小项目,我希望有一些可以完成某些工作的类,我编写了接口和类的实现。
令我惊讶的是,我不能有一个没有 main() 的简单类,我希望有一个一旦实例化的类,它的方法可以被调用,做事,但我不需要(也不想要)一个main() 在类实现中。这是我想拥有的一个例子:
文件动物.h:
class animal
{
public:
animal();
~animal();
public:
int method1(int arg1);
private:
int var1;
};
文件动物.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,但我不需要那里的main,还是我需要它?
我哪里错了?