Como Passar e Retornar Objetos em Funções C++
Como Passar e Retornar Objetos em Funções C++
Este tutorial explica como passar objetos para funções e retornar objetos de funções em C++, com exemplos práticos e orientação de boas práticas.
Exemplo 1: Passando Objetos para uma Função
// Programa C++ para calcular a média das notas de dois alunos #include <iostream> using namespace std; class Aluno { public: double notas; // construtor para inicializar notas Aluno(double n) : notas(n) {} }; // função que recebe objetos Aluno como parâmetros void calcularMedia(Aluno a1, Aluno a2) { double media = (a1.notas + a2.notas) / 2.0; cout << "Média das Notas = " << media << endl; } int main() { Aluno aluno1(88.0), aluno2(56.0); calcularMedia(aluno1, aluno2); return 0; }
Saída
Média das Notas = 72
Aqui, passamos dois objetos Aluno aluno1 e aluno2 para calcularMedia() por valor. Passar por valor cria cópias; se o objeto for grande, considere passar por referência.

Exemplo 2: Retornando um Objeto de uma Função
#include <iostream> using namespace std; class Aluno { public: double notas1, notas2; }; // função que retorna um objeto Aluno Aluno criarAluno() { Aluno aluno; aluno.notas1 = 96.5; aluno.notas2 = 75.0; cout << "Notas 1 = " << aluno.notas1 << endl; cout << "Notas 2 = " << aluno.notas2 << endl; return aluno; // NRVO otimiza a cópia } int main() { Aluno aluno1; aluno1 = criarAluno(); return 0; }
Saída
Notas 1 = 96.5 Notas 2 = 75

A função criarAluno() constrói uma instância Aluno, imprime seus valores e a retorna. Em main(), o objeto retornado é atribuído a aluno1. Compiladores modernos empregam Otimização de Valor de Retorno (RVO) para evitar cópias desnecessárias.
Linguagem C
- Três Estágios Essenciais da Impressão 3D Explicados
- Classes e Objetos em C#: Fundamentos para POO Robusta
- Classes e Objetos em C++: Guia Prático de Programação Orientada a Objetos
- Dominando Gerenciamento de Memória em C++: Uso Expert de new e delete
- Dominando Herança em C++: Public, Protected & Private Explicados
- Funções Amigas e Classes Amigas em C++: Dominando o Controle de Acesso
- Programação C: Passando Endereços e Ponteiros para Funções – Guia Prático
- Funções em C++ Explicadas com Exemplos Práticos de Código
- Proteja Sua Cadeia de Suprimentos: Estratégias para Combater Cibercrime, Desastres Naturais e Mais
- Guia Completo de Data e Hora em C++