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

Constructores de C++:uso de argumentos predeterminados para la creación de objetos flexibles

Un constructor es una función miembro especial de una clase, que se llama automáticamente cuando se crea un objeto. Se utilizan para inicializar el objeto con valores o configuraciones predeterminadas.

Mientras que los argumentos predeterminados en C++ permiten especificar valores predeterminados para los parámetros de función o constructor.

Constructor con argumentos predeterminados

Un constructor con argumentos predeterminados es un constructor que permite la creación de un objeto utilizando parámetros opcionales. Donde se proporcionan los valores predeterminados para los parámetros, de modo que cuando el usuario no pasa ningún valor, se utiliza el valor predeterminado.

Sintaxis

Aquí está la sintaxis proporcionada para el constructor con argumentos predeterminados:

class ClassName {
 public:
 ClassName(parameter_Type parameter_Name = default_Value,
 parameter_Type2 parameter_Name2 = default_Value2);
};

Ejemplo de constructor con argumentos predeterminados

A continuación se muestra el siguiente ejemplo de constructor con argumentos predeterminados:

#include <iostream>
using namespace std;
// Function with a default argument
void printMessage(string message = "Hello, Tutorialspoint Learner") {
 cout << message << endl;
}
int main() {
 // Calling the function without an argument
 printMessage(); // Prints the default message: "Hello, World!"
 
 // Calling the function with a custom argument
 printMessage("Hi, there!"); // Prints the custom message: "Hi, there!"
 return 0;
}

Salida

Hello, Tutorialspoint Learner
Hi, there!

Explicación

Constructor con múltiples argumentos predeterminados

Un constructor con múltiples argumentos predeterminados le da al usuario acceso para especificar valores predeterminados para más de un parámetro. Esto proporciona más flexibilidad y acceso para pasar cualquier combinación de argumentos.

Ejemplo

A continuación se muestra el siguiente ejemplo de constructor con múltiples argumentos predeterminados:

#include <iostream>
using namespace std;
class Box {
 public:
 int length, width, height;
 // Constructor with multiple default arguments
 Box(int l = 5, int w = 10, int h = 2) { // Default values for length, width, and height
 length = l;
 width = w;
 height = h;
 }
 void display() {
 cout << "Length: " << length << ", Width: " << width << ", Height: " << height << endl;
 }
};
int main() {
 // Creating objects with different numbers of arguments
 Box box1; 
 Box box2(15); 
 Box box3(15, 20); 
 Box box4(15, 20, 25); 
 // Displaying the objects' values
 box1.display();
 box2.display();
 box3.display();
 box4.display();
 return 0;
}

Salida

Length: 5, Width: 10, Height: 2
Length: 15, Width: 10, Height: 2
Length: 15, Width: 20, Height: 2
Length: 15, Width: 20, Height: 25

Explicación

Características clave de los constructores con argumentos predeterminados

Si bien es similar a las funciones normales, proporciona más flexibilidad y comodidad al crear objetos.

A continuación, analizaremos todas sus características clave.

1. Valores predeterminados para parámetros y flexibilidad en la creación de objetos

Aquí el constructor puede tener valores predeterminados para uno o más parámetros, que se pueden usar cuando la persona que llama no proporciona ningún argumento y permite múltiples formas de crear un objeto.

2. Evitar sobrecargas de múltiples constructores

Es posible que necesites cargar el constructor para cada combinación de argumentos, lo que hará que el código sea más voluminoso, pero con los argumentos predeterminados, el constructor se puede escribir una vez y manejará diferentes casos automáticamente.

3. Orden de los argumentos predeterminados

En el caso de múltiples parámetros de valor predeterminado, no puede omitir los argumentos predeterminados en el medio una vez que comience a proporcionar los valores predeterminados desde la derecha.

Sintaxis

Box(int l = 1, int w); // Invalid: 'w' has no default, but 'l' does.

4. Los argumentos predeterminados se pueden utilizar con miembros constantes

Si su clase tiene miembros constantes, entonces se pueden proporcionar argumentos predeterminados en el constructor para facilitar la inicialización.

Sintaxis

class Box {
 public:
 const int length, width;
 Box(int l = 5, int w = 10) : length(l), width(w) {}
};

Este constructor utiliza argumentos predeterminados (largo =5 y ancho =10) para inicializar los miembros constantes.


Lenguaje C

  1. Dominar los punteros de caracteres y el uso de funciones en C
  2. Las 50 principales preguntas y respuestas de entrevistas de C# para experimentados y principiantes (actualización de 2021)
  3. C enums
  4. 30 preguntas y respuestas esenciales de la entrevista Objective-C (Guía 2026)
  5. C# - Códigos no seguros
  6. Asociatividad y precedencia de operadores de C#
  7. Funciones de biblioteca estándar de C
  8. Plantillas de clase de C++
  9. Matrices C
  10. Manejo de señales C++
  11. Más de 20 mejores IDE de C para Windows, Mac y Linux (editores de 2021)