Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Passer des Structures Personnalisées comme Arguments | Spécification des Arguments de Fonction
Fonctions C++
course content

Contenu du cours

Fonctions C++

Fonctions C++

1. Introduction
2. Spécification des Arguments de Fonction
3. Spécification des Valeurs de Retour de Fonction
4. Quelques Sujets Avancés

book
Passer des Structures Personnalisées comme Arguments

Nous pouvons également passer des structures (classes) en tant qu'arguments de la fonction. Nous pouvons le faire de la même manière que pour passer un type de données simple en utilisant nom de la structure (classe) comme spécificateur de type dans la signature de la fonction:

Comme pour les types de données simples, nous pouvons passer des structures personnalisées (classes) par valeur, par pointeur ou par référence.

cpp

passByValue

cpp

passByPointer

cpp

passByReference

copy
1234567891011121314151617181920212223
#include <iostream> #include <string> // Define a custom structure struct Person { std::string name; int age; }; // Function that takes a Person structure by value void displayPersonInfo(Person p) { std::cout << "Name: " << p.name << ", Age: " << p.age << std::endl; } int main() { // Create a Person structure Person person1 = {"Alice", 30}; // Call the function and pass the Person structure by value displayPersonInfo(person1); }

Remarque

Il existe une autre façon plus confortable d'accéder à un attribut de la structure via un pointeur : nous pouvons utiliser l'opérateur -> au lieu de (*).. Par exemple:

  • p->name au lieu de (*p).name;
  • p->age au lieu de (*p).age
Tâche

Swipe to start coding

Créons une fonction pour calculer la moyenne des notes de l'étudiant basée sur ses scores dans différentes matières et afficher sa performance globale.

Nous avions déjà réalisé cette tâche en utilisant un tableau statique bidimensionnel auparavant, mais maintenant nous allons le faire avec une structure personnalisée.
Votre tâche consiste à modifier le code de la manière suivante:

  • La fonction doit recevoir l'argument student par référence.

  • Calculer la moyenne des scores de l'étudiant à l'intérieur de la fonction (variable averageScore).

  • Appeler la fonction et passer la valeur créée student1 comme argument de la fonction.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
toggle bottom row

book
Passer des Structures Personnalisées comme Arguments

Nous pouvons également passer des structures (classes) en tant qu'arguments de la fonction. Nous pouvons le faire de la même manière que pour passer un type de données simple en utilisant nom de la structure (classe) comme spécificateur de type dans la signature de la fonction:

Comme pour les types de données simples, nous pouvons passer des structures personnalisées (classes) par valeur, par pointeur ou par référence.

cpp

passByValue

cpp

passByPointer

cpp

passByReference

copy
1234567891011121314151617181920212223
#include <iostream> #include <string> // Define a custom structure struct Person { std::string name; int age; }; // Function that takes a Person structure by value void displayPersonInfo(Person p) { std::cout << "Name: " << p.name << ", Age: " << p.age << std::endl; } int main() { // Create a Person structure Person person1 = {"Alice", 30}; // Call the function and pass the Person structure by value displayPersonInfo(person1); }

Remarque

Il existe une autre façon plus confortable d'accéder à un attribut de la structure via un pointeur : nous pouvons utiliser l'opérateur -> au lieu de (*).. Par exemple:

  • p->name au lieu de (*p).name;
  • p->age au lieu de (*p).age
Tâche

Swipe to start coding

Créons une fonction pour calculer la moyenne des notes de l'étudiant basée sur ses scores dans différentes matières et afficher sa performance globale.

Nous avions déjà réalisé cette tâche en utilisant un tableau statique bidimensionnel auparavant, mais maintenant nous allons le faire avec une structure personnalisée.
Votre tâche consiste à modifier le code de la manière suivante:

  • La fonction doit recevoir l'argument student par référence.

  • Calculer la moyenne des scores de l'étudiant à l'intérieur de la fonction (variable averageScore).

  • Appeler la fonction et passer la valeur créée student1 comme argument de la fonction.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt