Hoe objecten in C++ functies door te geven en terug te geven
Hoe objecten in C++ functies door te geven en terug te geven
Deze tutorial legt uit hoe objecten aan functies door te geven en objecten van functies terug te geven in C++, met praktische voorbeelden en best-practice richtlijnen.
Voorbeeld 1: Objecten doorgeven aan een functie
// C++ programma om het gemiddelde cijfer van twee studenten te berekenen #include <iostream> using namespace std; class Student { public: double marks; // constructor om marks te initialiseren Student(double m) : marks(m) {} }; // functie die Student-objecten als parameters neemt void calculateAverage(Student s1, Student s2) { double average = (s1.marks + s2.marks) / 2.0; cout << "Gemiddelde Cijfers = " << average << endl; } int main() { Student student1(88.0), student2(56.0); calculateAverage(student1, student2); return 0; }
Output
Gemiddelde Cijfers = 72
Hier gaven we twee Student objecten student1 en student2 door aan calculateAverage() per waarde. Doorgeven per waarde creëert kopieën; als het object groot is, overweeg dan doorgeven per referentie.

Voorbeeld 2: Een object teruggeven van een functie
#include <iostream> using namespace std; class Student { public: double marks1, marks2; }; // functie die een Student-object teruggeeft Student createStudent() { Student student; student.marks1 = 96.5; student.marks2 = 75.0; cout << "Cijfers 1 = " << student.marks1 << endl; cout << "Cijfers 2 = " << student.marks2 << endl; return student; // NRVO optimaliseert de kopie } int main() { Student student1; student1 = createStudent(); return 0; }
Output
Cijfers 1 = 96.5 Cijfers 2 = 75

De functie createStudent() construëert een Student instantie, print de waarden en geeft het terug. In main() wordt het geretourneerde object toegewezen aan student1. Moderne compilers gebruiken Return Value Optimization (RVO) om onnodige kopieën te vermijden.
C Taal
- Beveilig Uw Toeleveringsketen: Strategieën tegen Cybercriminaliteit, Natuurrampen en Meer
- Drie Essentiële Stadia Van 3D-Printen Uitgelegd
- C# Classes & Objects: Fundamenten voor Robuuste OOP
- C++ klassen & objecten: praktische gids voor object-georiënteerd programmeren
- C++ Geheugenbeheer meesteren: Expert gebruik van new en delete
- C++ Overerving Beheersen: Public, Protected & Private Uitgelegd
- C++ Friend Functies en Friend Classes: Toegangscontrole Beheersen
- C-programmeren: Adressen & pointers doorgeven aan functies – Een praktische gids
- C++ Functies Uitgelegd met Praktische Codevoorbeelden
- Uitgebreide Gids voor Datum en Tijd in C++
- C++ Overloading Beheersen: Functies & Operators Uitgelegd