Hallo Ich schreibe ein kleines Projekt in C++, wo ich einige Klassen haben möchte, die etwas Arbeit macht, schrieb ich die Schnittstellen und die Implementierung der Klassen.C++ klasse warum brauchen main?
Die Sache, die mich überrascht ist, dass ich keine einfache Klasse ohne eine main() haben kann, möchte ich eine Klasse haben, die einst instanziiert, Es kann Methoden aufgerufen werden, Dinge tun, aber ich brauche nicht (noch will) ein main() in der Klassenimplementierung. Hier ist ein Beispiel, das ich in meinem Kopf habe, was ich haben möchte:
Datei animal.h:
class animal
{
public:
animal();
~animal();
public:
int method1(int arg1);
private:
int var1;
};
Datei animal.cpp:
#include "animal.h"
animal::animal(){...}
animal::~animal(){...}
int animal::method1(int arg1){return var1;}
}
Und ich mag Um die Tierklasse Formular eine andere Datei aufrufen und haben es funktioniert, etwa so: Datei app.cpp:
#include <neededlib>
#include "animal.h"
int main()
{
animal dog;
cout << dog.method1(42);
return 0;
}
Aber Compiler geben Sie mir
/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
für animal.cpp, aber ich habe kein Haupt es brauchen, oder brauche ich es?
Wo liege ich falsch?
Es wäre hilfreich, die eigentliche Nachricht zu posten. Oft steckt der Teufel im Detail. –
"Vergessen Sie nicht, den Hund zu löschen;!" Dies ist nicht notwendig, da es kein Zeiger ist, eigentlich sollte das Löschen eines Hundes in diesem Fall normalerweise zu einem Fehler führen. –