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

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Tom_Tom
Beiträge: 54
Registriert: 2. August 2008 18:39

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

Beitrag 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.
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 »

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 »

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 »

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 »

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. :)
Antworten