Suehprom
Grünschnabel
ok, das war mein Fehler, sorry - es hat mich eh gewundert, warum überhaupt keine Ausgabe kam. Ich hab den Fehler korrigiert und bekomme jetzt genau das falsche Ergebnis, was ich Euch eigentlich zeigen wollte:
Ich hoffe ich hab jetzt nichts mehr übersehen.
Die Ausgabe dieses Codes ist:
A: 2293624
B: 2293632
Es wurde also willkürliche Werte aus dem Speicher gefischt und nicht 1 und 2 ausgegeben.
Woran kann das liegen?
Mfg MaX
Code:
// test.h
#include "iostream.h"
class b;
class a{
private:
b* v;
public:
a(){val = 1;}
int val;
int wert();
void setval(b* val){v = val;}
};
class b{
private:
a* v;
public:
b();
int val;
a meinA;
int wert();
void setval(a* val){v = val;}
};
// test.cpp
#include "test.h"
int a::wert()
{
v->val;
}
int b::wert()
{
meinA.val;
}
b::b(){
val = 2;
meinA.setval(this);
}
int main(){
b klb;
cout << "A: " << klb.wert();
cout << endl << endl;
cout << "B: " << klb.meinA.wert();
cout << endl;
}
Ich hoffe ich hab jetzt nichts mehr übersehen.
Die Ausgabe dieses Codes ist:
A: 2293624
B: 2293632
Es wurde also willkürliche Werte aus dem Speicher gefischt und nicht 1 und 2 ausgegeben.
Woran kann das liegen?
Mfg MaX