Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Cómo pasar y devolver objetos en funciones de C++

Cómo pasar y devolver objetos en funciones de C++

Este tutorial explica cómo pasar objetos a funciones y devolver objetos desde funciones en C++, con ejemplos prácticos y orientación sobre las mejores prácticas.

Ejemplo 1: Pasar objetos a una función

// Programa en C++ para calcular el promedio de notas de dos estudiantes
#include <iostream>
using namespace std;

class Estudiante {
public:
    double notas;
    // Constructor para inicializar notas
    Estudiante(double n) : notas(n) {}
};

// Función que toma objetos Estudiante como parámetros
void calcularPromedio(Estudiante e1, Estudiante e2) {
    double promedio = (e1.notas + e2.notas) / 2.0;
    cout << "Promedio de notas = " << promedio << endl;
}

int main() {
    Estudiante estudiante1(88.0), estudiante2(56.0);
    calcularPromedio(estudiante1, estudiante2);
    return 0;
}

Salida

Promedio de notas = 72

Aquí pasamos dos objetos Estudiante estudiante1 y estudiante2 a calcularPromedio() por valor. Pasar por valor crea copias; si el objeto es grande, considere pasar por referencia.

Cómo pasar y devolver objetos en funciones de C++

Ejemplo 2: Devolver un objeto desde una función

#include <iostream>
using namespace std;

class Estudiante {
public:
    double notas1, notas2;
};

// Función que devuelve un objeto Estudiante
Estudiante crearEstudiante() {
    Estudiante estudiante;
    estudiante.notas1 = 96.5;
    estudiante.notas2 = 75.0;
    cout << "Notas 1 = " << estudiante.notas1 << endl;
    cout << "Notas 2 = " << estudiante.notas2 << endl;
    return estudiante; // NRVO optimiza la copia
}

int main() {
    Estudiante estudiante1;
    estudiante1 = crearEstudiante();
    return 0;
}

Salida

Notas 1 = 96.5
Notas 2 = 75
Cómo pasar y devolver objetos en funciones de C++

La función crearEstudiante() construye una instancia de Estudiante, imprime sus valores y la devuelve. En main(), el objeto devuelto se asigna a estudiante1. Los compiladores modernos emplean la Optimización del Valor de Retorno (RVO) para evitar copias innecesarias.

Mejores prácticas

Lenguaje C

  1. Asegure su cadena de suministro: Estrategias para contrarrestar cibercrimen, desastres naturales y más
  2. Tres Etapas Esenciales de la Impresión 3D Explicadas
  3. Clases y objetos en C#: Fundamentos para POO robusta
  4. Clases y Objetos en C++: Guía Práctica de Programación Orientada a Objetos
  5. Dominando la gestión de memoria en C++: uso experto de new y delete
  6. Herencia en C++: public, protected y private explicados
  7. Funciones y clases amigas en C++: dominando el control de acceso
  8. Programación en C: Pasar direcciones y punteros a funciones – Guía práctica
  9. Funciones en C++ Explicadas con Ejemplos de Código Prácticos
  10. Guía Completa de Fecha y Hora en C++
  11. Dominando la Sobrecarga en C++: Funciones y Operadores Explicados