Objekte in C++-Funktionen übergeben und zurückgeben
Objekte in C++-Funktionen übergeben und zurückgeben
Dieses Tutorial erklärt, wie man Objekte an Funktionen übergibt und Objekte von Funktionen zurückgibt in C++, mit praktischen Beispielen und Best-Practice-Hinweisen.
Beispiel 1: Objekte an eine Funktion übergeben
// C++ Programm zur Berechnung des Durchschnitts der Noten zweier Studenten #include <iostream> using namespace std; class Student { public: double marks; // Konstruktor zur Initialisierung der Noten Student(double m) : marks(m) {} }; // Funktion, die Student-Objekte als Parameter entgegennimmt void calculateAverage(Student s1, Student s2) { double average = (s1.marks + s2.marks) / 2.0; cout << "Durchschnittsnote = " << average << endl; } int main() { Student student1(88.0), student2(56.0); calculateAverage(student1, student2); return 0; }
Ausgabe
Durchschnittsnote = 72
Hier wurden zwei Student-Objekte student1 und student2 an calculateAverage() per Wert übergeben. Die Übergabe per Wert erzeugt Kopien; wenn das Objekt groß ist, sollte man die Übergabe per Referenz in Betracht ziehen.

Beispiel 2: Ein Objekt aus einer Funktion zurückgeben
#include <iostream> using namespace std; class Student { public: double marks1, marks2; }; // Funktion, die ein Student-Objekt zurückgibt Student createStudent() { Student student; student.marks1 = 96.5; student.marks2 = 75.0; cout << "Note 1 = " << student.marks1 << endl; cout << "Note 2 = " << student.marks2 << endl; return student; // NRVO optimiert die Kopie } int main() { Student student1; student1 = createStudent(); return 0; }
Ausgabe
Note 1 = 96.5 Note 2 = 75

Die Funktion createStudent() erstellt eine Student-Instanz, gibt ihre Werte aus und gibt sie zurück. In main() wird das zurückgegebene Objekt student1 zugewiesen. Moderne Compiler nutzen Return Value Optimization (RVO), um unnötige Kopien zu vermeiden.
C Sprache
- Drei wesentliche Phasen des 3D-Drucks erklärt
- C# Klassen & Objekte: Fundamente für robustes OOP
- C++ Klassen & Objekte: Praktischer Leitfaden zur objektorientierten Programmierung
- C++ Speicherverwaltung meistern: Experten-Einsatz von new und delete
- C++ Vererbung: Public, Protected & Private erklärt
- C++ Friend-Funktionen und Friend-Klassen: Zugriffskontrolle meistern
- C-Programmierung: Adressen & Zeiger an Funktionen übergeben – Praxisleitfaden
- C++-Funktionen erklärt: Mit praktischen Code-Beispielen
- Lieferkette absichern: Strategien gegen Cyberkriminalität, Naturkatastrophen und mehr
- C++ Datum & Zeit: Umfassender Leitfaden