Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Comment passer et retourner des objets dans les fonctions C++

Comment passer et retourner des objets dans les fonctions C++

Ce tutoriel explique comment passer des objets aux fonctions et retourner des objets depuis les fonctions en C++, avec des exemples pratiques et des bonnes pratiques.

Exemple 1 : Passage d'objets à une fonction

// Programme C++ pour calculer la moyenne des notes de deux étudiants
#include <iostream>
using namespace std;

class Student {
public:
    double marks;
    // Constructeur pour initialiser marks
    Student(double m) : marks(m) {}
};

// Fonction qui prend des objets Student en paramètres
void calculateAverage(Student s1, Student s2) {
    double average = (s1.marks + s2.marks) / 2.0;
    cout << "Moyenne des notes = " << average << endl;
}

int main() {
    Student student1(88.0), student2(56.0);
    calculateAverage(student1, student2);
    return 0;
}

Sortie

Moyenne des notes = 72

Ici, nous avons passé deux objets Student student1 et student2 à calculateAverage() par valeur. Le passage par valeur crée des copies ; si l'objet est volumineux, envisagez de passer par référence.

Comment passer et retourner des objets dans les fonctions C++

Exemple 2 : Retour d'un objet depuis une fonction

#include <iostream>
using namespace std;

class Student {
public:
    double marks1, marks2;
};

// Fonction qui retourne un objet Student
Student createStudent() {
    Student student;
    student.marks1 = 96.5;
    student.marks2 = 75.0;
    cout << "Notes 1 = " << student.marks1 << endl;
    cout << "Notes 2 = " << student.marks2 << endl;
    return student; // NRVO optimise la copie
}

int main() {
    Student student1;
    student1 = createStudent();
    return 0;
}

Sortie

Notes 1 = 96.5 Notes 2 = 75
Comment passer et retourner des objets dans les fonctions C++

La fonction createStudent() construit une instance de Student, affiche ses valeurs et la retourne. Dans main(), l'objet retourné est assigné à student1. Les compilateurs modernes emploient l'optimisation de valeur de retour (RVO) pour éviter les copies inutiles.

Bonnes pratiques

Langue C

  1. Trois étapes essentielles de l'impression 3D expliquées
  2. Classes et objets C# : Fondations pour une POO robuste
  3. Classes et objets C++ : Guide pratique de la programmation orientée objet
  4. Maîtriser la gestion de mémoire en C++ : Utilisation experte de new et delete
  5. Maîtriser l'héritage C++ : Public, Protected et Private expliqués
  6. Fonctions amies et classes amies en C++ : Maîtriser le contrôle d'accès
  7. Programmation C : Passage d'adresses et de pointeurs aux fonctions – Guide pratique
  8. Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
  9. Sécurisez votre chaîne d'approvisionnement : stratégies contre la cybercriminalité, les catastrophes naturelles et plus