Seite 1 von 1

[gelöst] C++ - Problem Get-Methode

Verfasst: 8. Oktober 2008 18:08
von Tom_Tom
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.

Verfasst: 8. Oktober 2008 19:18
von Christian81
KlasseB::getKlasseA() gibt eine Kopie von KlasseA zurück, nicht die instanz in Klasse B.

--> verschoben nach C++-Grundlagen

Verfasst: 9. Oktober 2008 09:20
von Tom_Tom
Aber ich sage ihm doch: return this->klasseA;
Warum funktioniert das denn nicht? Kannste mir sagen, was ich machen muss, damit das funktioniert?

Verfasst: 9. Oktober 2008 09:23
von Christian81
Du musste einen Pointer oder eine Referenz zurückgeben, keine Kopie des Objektes. Also erstmal Grundlagen anlesen :)

Verfasst: 9. Oktober 2008 09:44
von Tom_Tom
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 :roll:
Qt macht einen alles irgendwie zu einfach.

Aber danke dir erstmal. :)