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

C++ Passar e retornar objetos na função

Neste artigo, você aprenderá a passar e retornar objetos na função em C ++Na programação, passar objetos para a função e retornar objetos da função.

Em C ++na programação,Os objetos podem ser passados para a função de maneira semelhante à estrutura.

Como passar objetos para a função?

Exemplo1: Passar objetos para a função

C ++O programa adiciona dois números complexos passando os objetos para a função.

#include <iostream>
using namespace std;
class Complex
{
    private:
       int real;
       int imag;
    public:
       Complex(): real(0), imag(0) { }
       void readData()
        {
           cout << "Insira o número real e o número imaginário: " << endl;
           cin >> real >> imag;
        }
        void addComplexNumbers(Complex comp1, Complex comp2)
        {
           // real representa o objeto c3dados reais, pois usa o código c3.add(c1,c2); Pode chamar essa função;
            real = comp1.real+comp2.real;
             // imag representa o objeto c3dos dados de imag de c, pois usa o código c3.add(c1,c2); Pode chamar essa função
            imag = comp1.imag+comp2.imag;
        }
        void displaySum()
        {
            cout << "Soma = " << real << ""+" << imag << "i";
        }
};
int main()
{
    Complex c1,c2,c3;
    c1.readData();
    c2.readData();
    c3.addComplexNumbers(c1, c2);
    c3.displaySum();
    return 0;
}

Resultados de saída

Insira o número real e o número imaginário:
2
4
Insira o número real e o número imaginário:
-3
4
Sum = -1+8i

Como retornar um objeto da função?

Em C ++na programação,  Os objetos podem ser retornados da função de maneira semelhante à estrutura.

Exemplo2: Passar e retornar objetos da função

Neste programa, retornaremos a soma do número complexo (objeto) para a função main() e mostraremos.

#include <iostream>
using namespace std;
class Complex
{
    private:
       int real;
       int imag;
    public:
       Complex(): real(0), imag(0) { }
       void readData()
        {
           cout << "Insira o número real e o número imaginário: " << endl;
           cin >> real >> imag;
        }
        Complex addComplexNumbers(Complex comp2)
        {
            Complex temp;
            //real representa o objeto c3dados reais, pois usa o código c3.add(c1,c2); Pode chamar essa função;
            temp.real = real+comp2.real;
            //imag representa o objeto c3dos dados de imag de c, pois usa o código c3.add(c1,c2); Pode chamar essa função
            temp.imag = imag+comp2.imag;
            return temp;
        }
        void displayData()
        {
            cout << "Soma = " << real << "";+" << imag << "i";
        }
};
int main()
{
    Complex c1, c2, c3;
    c1.readData();
    c2.readData();
    c3 = c1.addComplexNumbers(c2);
    c3.displayData();
    
    return 0;
}