daemon777
Lt. Commander
- Registriert
- Dez. 2003
- Beiträge
- 1.371
Hallo,
ich bräuchte mal wieder Hilfe. Und zwar geht es um ein kleines Programm welches ich angefangen habe zu schreiben. Das Problem ist folgendes:
Ich habe 2 Klassen. Die eine Klasse ist voll von Datenstrukturen wie 2dimensionalen Arrays. Die 2. Klasse soll nun nicht weiter machen als eine Datei zu öffnen und auszulesen und anschließend diese ausgelesenen Dateien in meine 1. Klasse schreiben.
Nun habe ich schon festgestellt dass ich nicht ohne weiteres einfach eine Klasse in einer Funktion als Parameter übergeben kann. Seltsamerweise funktioniert das aber auch nicht mit einer Referenz
Die erste Klasse:
Und die zweite:
In der Main-Methode steht nun folgendes:
Das funktioniert aber nicht
Könnt ihr mir sagen woran das liegt, wie ich das Problem umgehen kann oder wie ich es zum laufen bekomme ?
Danke schon mal im Vorraus
ich bräuchte mal wieder Hilfe. Und zwar geht es um ein kleines Programm welches ich angefangen habe zu schreiben. Das Problem ist folgendes:
Ich habe 2 Klassen. Die eine Klasse ist voll von Datenstrukturen wie 2dimensionalen Arrays. Die 2. Klasse soll nun nicht weiter machen als eine Datei zu öffnen und auszulesen und anschließend diese ausgelesenen Dateien in meine 1. Klasse schreiben.
Nun habe ich schon festgestellt dass ich nicht ohne weiteres einfach eine Klasse in einer Funktion als Parameter übergeben kann. Seltsamerweise funktioniert das aber auch nicht mit einer Referenz

Die erste Klasse:
Code:
#include <string.h>
class karte
{
public:
std::string dateiname;
std::string levelname;
char feld1[2000][2000];
karte();
};
karte::karte()
{
dateiname="default.lvl";
levelname="Level1";
}
Und die zweite:
Code:
#include <string>
#include <fstream.h>
using namespace std;
class datei
{
public:
string dateiname;
datei();
int show();
int dread(string datei, karte mkarte);
};
datei::datei()
{
dateiname="default.lvl";
};
//das ist die kritische Funktion
int datei::dread(string datei,karte mkarte)
{
return 1;
};
In der Main-Methode steht nun folgendes:
Code:
datei mdatei;
karte mkarte;
std::cout<<mdatei.dateiname ;
std::cout<<"\nEs wird versucht aus einer Datei auszulesen!\n";
mdatei.dread("test.lvl",mkarte);
Das funktioniert aber nicht

Könnt ihr mir sagen woran das liegt, wie ich das Problem umgehen kann oder wie ich es zum laufen bekomme ?
Danke schon mal im Vorraus