English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Passaggio e restituzione di oggetti nelle funzioni C++

In questo articolo, imparerai a passare oggetti a funzioni in C++ e a restituire oggetti dalle funzioni.

Nel programming C++Gli oggetti possono essere passati alla funzione in modo simile alle strutture.

Come passare oggetti alla funzione?

Esempio 1: Passaggio di oggetti alla funzione

Il programma C++ aggiunge due numeri complessi passando gli oggetti alla funzione.

#include <iostream>
using namespace std;
class Complex
{
    private:
       int real;
       int imag;
    public:
       Complex(): real(0), imag(0) { }
       void readData()
        {
           cout << "Inserisci rispettivamente il numero reale e l'immaginario:" << endl;
           cin >> real >> imag;
        {}
        void addComplexNumbers(Complex comp1, Complex comp2)
        {
           // real rappresenta i dati reali dell'oggetto c3, poiché è possibile chiamare questa funzione utilizzando il codice c3.add(c1, c2);
            real = comp1.real + comp2.real;
             // imag rappresenta i dati imag dell'oggetto c3, poiché è possibile chiamare questa funzione utilizzando il codice c3.add(c1, c2);
            imag = comp1.imag + comp2.imag;
        {}
        void displaySum()
        {
            cout << "Sum = " << real << "+" << imag << "i";
        {}
};
int main()
{
    Complex c1, c2, c3;
    c1.readData();
    c2.readData();
    c3.addComplexNumbers(c1, c2);
    c3.displaySum();
    return 0;
{}

Risultato di output

Inserisci rispettivamente il numero reale e l'immaginario:
2
4
Inserisci rispettivamente il numero reale e l'immaginario:
-3
4
Sum = -1 + 8i

Come restituire un oggetto dalla funzione?

Nel programming C++  Il modo in cui un oggetto può essere restituito dalla funzione è simile a quello degli strutture.

Esempio 2: Passaggio e restituzione di oggetti dalla funzione

In questo programma, il somma del numero complesso (oggetto) sarà restituito alla funzione main() e visualizzato.

#include <iostream>
using namespace std;
class Complex
{
    private:
       int real;
       int imag;
    public:
       Complex(): real(0), imag(0) { }
       void readData()
        {
           cout << "Inserisci rispettivamente il numero reale e l'immaginario:" << endl;
           cin >> real >> imag;
        {}
        Complex addComplexNumbers(Complex comp2)
        {
            Complex temp;
            // real rappresenta i dati reali dell'oggetto c3, poiché è possibile chiamare questa funzione utilizzando il codice c3.add(c1, c2);
            temp.real = real + comp2.real;
            // imag rappresenta i dati imag dell'oggetto c3, poiché è possibile chiamare questa funzione utilizzando il codice c3.add(c1, c2);
            temp.imag = imag + comp2.imag;
            return temp;
        {}
        void displayData()
        {
            cout << "Somma = " << re << "+" << im << "i";
        {}
};
int main()
{
    Complex c1, c2, c3;
    c1.readData();
    c2.readData();
    c3 = c1.addComplexNumbers(c2);
    c3.displayData();
    
    return 0;
{}