Variableneintrag und Auslesung in andere Klasse

Hallo an Alle,

folgendes Problem:
Ich habe in VC++ eine Klasse aus der Daten in eine Datenklasse geschrieben werden sollen. Die Datenklasse wurde von mir selbst erstellt und beinhaltet die Variablenfelder und die Methoden zum Schreiben und Lesen. Diese Daten sollen nun von einer anderen Klasse wieder eingelesen und auf einer Oberfläche angezeigt werden. Im Grunde funktioniert auch alles, bis auf dass ich mir die Daten, die von der 1.Klasse eingetragen wurden nur in der ersten Klase anzeigen lassen kann. Sobald ich mit der zweiten Klasse auf die Datenklasse zugreife, gibt er NULL-Strings zurück.
In der Datenklasse habe ich die Funktionen, zum Beschreiben und Auslesen der Datenfelder, so, dass ich von meiner 1. Klasse die Methoden mit dem Parameter des Wertes der eingetragen werden soll und des Ortes aufrufe (SetValue_Feld1(CString Wert, int i)).
In der 2. Klasse rufe ich die Auslesefunktion der Datenklasse auf, mit dem Parameter des Ortes (GetValue_Feld1(int i))

Ich habe bisher in den Klassen, die auf die Datenklasse zugreifen soll Variablen der Datenklasse erstellt und es auch schon mit Pointern probiert. Mit den Variablen der Datenklasse in den anderen Klassen erzeuge ich ja Objekte mit Gültigkeitsbereich. Ich brauche aber eine Methode, mit der beide Klassen auf exakt dieselben Datenfelder der Klassendatei zugreift. Mit einem direkten Klassenpointer über den Scopeoperator habe ich das auch nicht hinbekommen.
Hier mal ein paar Strukturschnipsel

CDatenklasse

protected:
CString Feld1[i],Feld2[i],…

public:
void SetValueFeld1(CString Value, int i){Feld1[i]=Value}
CString GetValueFeld1(int i){return Feld1[i];}

CKlasse1

public:
CDatenklasse m_Daten, *pDaten;
//in der .cpp initialisiert mit pDaten=&m_Daten;

!!Wert wird in ein Feld eingegeben!!
pDaten->SetValueFeld1(Wert,1);

CKlasse2

public:
CDatenklasse m_Daten, *pDaten;
//in der .cpp initialisiert mit pDaten=&m_Daten;

pDaten->GetValueFeld1(1);

!!Wert wird in einem Feld ausgegeben!!

Da m_Daten von Klasse1 nicht identisch ist mit Klasse2 kann ich in Klasse 2 nicht auf die Daten der Datenklase zugreifen, die von Klasse 1 eingetragen wurden.

Kann mir jemand helfen?

Hallo,

auch wenn ich nicht ganz versteh, was du willst, könntest du es so lösen:

// Header
class CKlasse1
{
public:
 CKlasse1(CDatenklasse\* pDaten)
 : mpDaten(pDaten)
 {
 }

 void machwas()
 {
 pDaten-\>SetValueFeld1("blubb", 1);
 }

protected:
 CDatenklasse\* mpDaten;
};

class CKlasse2
{
public:
 CKlasse2(CDatenklasse\* pDaten)
 : mpDaten(pDaten)
 {
 }

 void echo()
 {
 mpDaten-\>GetValueFeld1(1);
 }

protected:
 CDatenklasse\* mpDaten;
};

// Cpp
...
CDatenklasse meineDaten;
CKlasse1 k1(&meineDaten);
CKlasse2 k2(&meineDaten);

k1.machwas();
k2.echo();

...

PS: Feste Arrays definieren ist nicht grade das Wahre, aber fürn Anfang okay.

bye,
Christoph