frage zu klassen
-
lhk schrieb:
den borland 6.0
kannst du das ganze programm zeigen?
-
@ssm: Wie blöd bist du eigentlich?
-
-
header
class bday {private: struct daten{char* name; char* vorname; int datum[2]; daten *next; daten *prev; }; typedef daten* knoten; typedef daten* pos; pos start; pos stop; public: bday(); void alles(); daten* wohin(int stelle); };
Implementierung
class bday {private: struct daten{char* name; char* vorname; int datum[2]; daten *next; daten *prev; }; typedef daten* knoten; typedef daten* pos; pos start; pos stop; public: bday(); void alles(); daten* wohin(int stelle); };
-
so wies da steht funktioneirts beim bcb wirklich nicht, aber so:
class bday{ private: struct daten{ }; daten a; public: daten alles(){ return a; } };
der bcb brauch ne instanz, dann funktionierts fehlerfrei
den rückgabewert von alles kannste aber trotzdem nicht benutzen, dafür müssteste die structur dann public machen.
also so:
class bday{ public: struct daten{ }; daten alles(){ return a; } private: daten a; }; int main( { bday a; bday::daten b; b=a.alles(); return 0; }
-
Die struct ist lokal in der Klasse definiert und soll
von einer public Funktion zurückgegeben werden.
Das Problem liegt also bei lokal, nicht bei private.Jockelx
-
lhk schrieb:
header
class bday {private: struct daten{char* name; char* vorname; int datum[2]; daten *next; daten *prev; }; typedef daten* knoten; typedef daten* pos; pos start; pos stop; public: bday(); void alles(); daten* wohin(int stelle); };
Implementierung
class bday {private: struct daten{char* name; char* vorname; int datum[2]; daten *next; daten *prev; }; typedef daten* knoten; typedef daten* pos; pos start; pos stop; public: bday(); void alles(); daten* wohin(int stelle); };
Heder = Implementierung
-
ssm schrieb:
omfg schrieb:
@ssm: Wie blöd bist du eigentlich?
fuck off
Na, na, na, Trolle sollte man auf keinen Fall füttern, einfach ignorieren.
-
sowas aber auch
#include <iostream.h> #include "bday.h" //Konstruktor bday::bday() {knoten kopf = new daten; knoten ende = new daten; kopf->next=ende; kopf->prev=NULL; kopf->name="kopf"; start=kopf; ende->next=NULL; ende->prev=kopf; ende->name="ende"; stop=ende; } //Trace: durchläuft die Liste einmal Vorwärts und einmal rückwärts void bday::alles() {cout<<"vorwaerts"<<endl; for (pos i=start;i->next!=NULL ;i=i->next) { cout<<i->name<<endl; } cout<<"rueckwaerts"<<endl; for (pos i=stop;i->prev!=NULL ;i=i->prev) { cout<<i->name<<endl; } } //wohin: sucht die stelle an der etwas gemacht werden soll daten* bday::wohin(int stelle) { pos p=start; while (stelle!=0) {if (p==stop)return p->prev; p=p->next; stelle--; } return p; }
@Jockelx: Und was heisst das genau für mich?
-
Ich versteh das Problem nicht.
Da du die struct doch ausserhalb der Klasse verwenden willst,
definier sie doch auch ausserhalb. Damit ist das Problem doch erledigt.Jockelx