Du bist neu in der Welt von C++? Dann schau hier herein!
Tom_Tom
Beiträge: 54 Registriert: 2. August 2008 18:39
Beitrag
von Tom_Tom » 8. Oktober 2008 18:08
Hallo. Habe folgendes Problem und erbitte Hilfe.
Klasse A:
Code: Alles auswählen
//KlasseA.h
#ifndef KLASSEA_H_
#define KLASSEA_H_
#include <QtCore/QString>
class KlasseA
{
QString wert;
public:
KlasseA();
virtual ~KlasseA();
void setWert(QString wert);
QString getWert();
};
#endif
//KlasseA.cpp
#include "KlasseA.h"
KlasseA::KlasseA()
{
}
KlasseA::~KlasseA()
{
}
void KlasseA::setWert(QString wert) {
this->wert = wert;
}
QString KlasseA::getWert() {
return this->wert;
}
Klasse B:
Code: Alles auswählen
//KlasseB.h
#ifndef KLASSEB_H_
#define KLASSEB_H_
#include "KlasseA.h"
class KlasseB
{
private:
KlasseA klasseA;
public:
KlasseB();
virtual ~KlasseB();
void setKlasseA(KlasseA klasseA);
KlasseA getKlasseA();
};
#endif
//KlasseB.cpp
#include "KlasseB.h"
KlasseB::KlasseB()
{
}
KlasseB::~KlasseB()
{
}
void KlasseB::setKlasseA(KlasseA klasseA) {
this->klasseA = klasseA;
}
KlasseA KlasseB::getKlasseA() {
return this->klasseA;
}
main-Methode
Code: Alles auswählen
#include "KlasseB.h"
#include <Qt/QDebug.h>
int main(int argc, char** argv)
{
KlasseB klasseB;
klasseB.getKlasseA().setWert("Hallo Welt!");
qDebug()<< klasseB.getKlasseA().getWert();
}
Mein Problem ist, das qDebug() leer ist und meinen Text nicht enthält.
Zuletzt geändert von
Tom_Tom am 9. Oktober 2008 10:41, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319 Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:
Beitrag
von Christian81 » 8. Oktober 2008 19:18
KlasseB::getKlasseA() gibt eine Kopie von KlasseA zurück, nicht die instanz in Klasse B.
--> verschoben nach C++-Grundlagen
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
Tom_Tom
Beiträge: 54 Registriert: 2. August 2008 18:39
Beitrag
von Tom_Tom » 9. Oktober 2008 09:20
Aber ich sage ihm doch: return this->klasseA;
Warum funktioniert das denn nicht? Kannste mir sagen, was ich machen muss, damit das funktioniert?
Christian81
Beiträge: 7319 Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:
Beitrag
von Christian81 » 9. Oktober 2008 09:23
Du musste einen Pointer oder eine Referenz zurückgeben, keine Kopie des Objektes. Also erstmal Grundlagen anlesen
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
Tom_Tom
Beiträge: 54 Registriert: 2. August 2008 18:39
Beitrag
von Tom_Tom » 9. Oktober 2008 09:44
Also mit Referenz hat es nicht geklappt. Ich probier mal nochmal.
Das mit den Grundlagen ist schon über ein Jahr her. Wenn man nur noch mit Qt programmiert, verblödet man glaube ich
Qt macht einen alles irgendwie zu einfach.
Aber danke dir erstmal.