Maison  >  Article  >  développement back-end  >  Comment les objets sont-ils transmis et renvoyés en tant que paramètres en C++ ? (exemple de code)

Comment les objets sont-ils transmis et renvoyés en tant que paramètres en C++ ? (exemple de code)

青灯夜游
青灯夜游original
2019-03-14 15:23:425388parcourir

En C++, nous pouvons transmettre des objets d'une classe en tant que paramètres et les renvoyer à partir de fonctions, tout comme transmettre et renvoyer d'autres variables ; aucun mot-clé spécial ou fichier d'en-tête n'est requis. L'article suivant vous guidera à travers cela, j'espère qu'il vous sera utile.

Comment les objets sont-ils transmis et renvoyés en tant que paramètres en C++ ? (exemple de code)

1. Passer l'objet en paramètre

Pour passer l'objet en paramètre, on passer l'objet Le nom est écrit en paramètre et la fonction est appelée de la même manière que pour les autres variables.

Syntaxe de base :

函数名(对象名);

Exemple :

#include <bits/stdc++.h> 
using namespace std; 
  
class Example { 
public: 
    int a; 
  
    // 此函数将对象作为参数
    void add(Example E) 
    { 
        a = a + E.a; 
    } 
}; 
int main() 
{ 
  
    // 创建对象
    Example E1, E2; 
  
    // 两个对象的值都已初始化
    E1.a = 50; 
    E2.a = 100; 
  
    cout << "初始值 \n"; 
    cout << "对象1的值: " << E1.a 
         << "\n对象2的值: " << E2.a 
         << "\n\n"; 
  
    // 将对象作为参数传递给函数add()
    E2.add(E1); 
  
    // 传递给函数add()后
    cout << "新值 \n"; 
    cout << "对象1的值: " << E1.a 
         << "\n对象2的值:" << E2.a 
         << "\n\n"; 
  
    return 0; 
}

Sortie :

初始值
对象1的值:50
对象2的值:100


新值
对象1的值:50
对象2的值:150

Explication : Dans cet exemple, il y a une classe Il existe une variable entière "a" et une fonction "add" qui prend un objet comme paramètre. La fonction add() est appelée avec un objet et un autre objet comme paramètre. À l'intérieur de la fonction, la valeur entière de l'objet paramètre est ajoutée à la valeur entière de la fonction 'add' appelante. Dans cette méthode, nous pouvons passer des objets en paramètres et les modifier

Remarque : La fonction add ne renvoie aucune valeur car son type de retour est void.

2. Renvoie l'objet en paramètre

Syntaxe de base :

object = return object_name;

Exemple : la fonction add renvoie " exemple « objet de type » (c’est-à-dire le nom de la classe), la valeur de cet objet est stockée dans E3.

#include <bits/stdc++.h> 
using namespace std; 
  
class Example { 
public: 
    int a; 
  
    // 此函数将以对象为参数并返回对象
    Example add(Example Ea, Example Eb) 
    { 
        Example Ec; 
        Ec.a = Ec.a + Ea.a + Eb.a; 
  
        // 返回对象
        return Ec; 
    } 
}; 
int main() 
{ 
    Example E1, E2, E3; 
  
    // 两个对象的值都已初始化
    E1.a = 50; 
    E2.a = 100; 
    E3.a = 0; 
  
    cout << "初始值 \n"; 
    cout << "对象1的值: " << E1.a 
         << " \n对象2的值: " << E2.a 
         << "\n对象3的值: " << E3.a 
         << "\n\n"; 
  
    //将对象作为参数传递给函数add()。
    E3 = E3.add(E1, E2); 
  
    // 将对象作为参数传递后更改的值
    cout << "新值 \n"; 
    cout << "对象1的值: " << E1.a 
         << " \n对象2的值: " << E2.a 
         << " \n对象3的值: " << E3.a 
         << "\n"; 
  
    return 0; 
}

Sortie :

初始值
对象1的值:50
对象2的值:100
对象3的值:0


新值
对象1的值:50
对象2的值:100
对象3的值:200

Explication : Dans cet exemple, nous pouvons voir deux aspects, comment nous transmettons des objets et les renvoyons. Lorsque l'objet E3 appelle la fonction add, il passe deux autres objets, E1 et E2, en paramètres. À l'intérieur de la fonction, un autre objet est déclaré qui calcule la somme des trois variables et la renvoie à E3.

Tutoriels vidéo associés recommandés : "Tutoriel C++"

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn