Klassen aufrufen
-
Wieder eine totale Anfängerfrage, aber was solls

Ich habe eine MainClass und nochmal eine.
In der zwieten Klasse steht sowas wie:
#ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <cstdlib> using namespace std; class Calc { public: string calctyp; };und in der der hauptklasse will ich die Variable calctyp der zweiten Klasse aufrufen. habe das wie folgt versucht:
Calc c; c.calctyp = "blabla";Dies funktioniert jedoch nicht. Er sagt wir Calc und c wären nicht deklariert.
-
#include "calc.h"?
-
Keine Ahnung.
Ich habe keine Header Datei davon !?
Also ich habe einfach ne leere C++ Datei hinzugefügt und die als Klasse genommen.
-
Also ne extra Datei für die Klasse? Dann hab ich ja richtig geraten

Die zusätzlichen Dateien, in denen du Klassen definierst, haben üblicherweise die Endung ".h". Um deiner MainClass die Klasse Calc bekannt zu machen, musst du die Datei, in der du Calc definierst, inkludieren (wie in meinem ersten Post).
-
Es geht trotzdem nicht. Ich poste einfach mal den gesamten Code:
#ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <cstdlib> #include <calculation.h> using namespace std; int main(int argc, char *argv[]) { //code der hier ist irrelevant. Calc c; c.calctyp = "ok"; return EXIT_SUCCESS; }calculation.h
#ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <cstdlib> using namespace std; class Calc { public: string calctyp; };
-
Wenn du dir
#include "calculation.h"nochmal genau anguckst, wird dir auffallen, dass ich Anführungszeichen benutze. Der Unterschied ist, dass bei Anführungszeichen auch und zuerst im aktuellen Verzeichnis nach der Datei gesucht wird.
-
#include "calculation.h"
Edit: jaja, zu spääät :p
-
Danke, es geht.