C
C152778
Hallo
Hat man eine selbstdefinierte Klasse A und man möchte eine Funktion schreiben, die ein Objekt dieser Klasse zurückgibt, wie geht man am Besten vor?
Ich habe drei Alternativen im Angebot:
Wobei ich mir hier unsicher bin, ob der so erstellte Zeiger auf das Objekt vom Typ A innerhalb der Methode nach dem Methodenauffruf nicht ungültig wird ?
Hier wird eine Kopie erstellt, was die Laufzeit drückt.
Auch hier die Frage, ob der Zeiger nach dem Methodenaufruf noch gültig ist?
Welche Variante ist die eleganteste ? Welche sollte man vorziehen und welche meiden ?
Danke und schöne Grüße, Cyraid
EDIT: Syntaktische Fehler ausgebessert.
Hat man eine selbstdefinierte Klasse A und man möchte eine Funktion schreiben, die ein Objekt dieser Klasse zurückgibt, wie geht man am Besten vor?
Ich habe drei Alternativen im Angebot:
Code:
A* methodeXY() {
// Berechnungen
A* a = new A(...);
return a;
}
Code:
A methodeXY() {
// Berechnungen
A* a = new A(...);
return *a;
Code:
void methodeXY(A* a) {
// Berechnungen
a = new A(...);
}
Welche Variante ist die eleganteste ? Welche sollte man vorziehen und welche meiden ?
Danke und schöne Grüße, Cyraid
EDIT: Syntaktische Fehler ausgebessert.
Zuletzt bearbeitet von einem Moderator: