MEJOR SITIO PARA DESARROLLADORES WEB

C++ Tutorial

C++ HOGAR C++ Introducción C++ Empezar C++ Sintaxis C++ Producción C++ Comentarios C++ Variables C++ Entrada de usuario C++ Tipos de datos C++ Operadores C++ Cadenas C++ Matemáticas C++ Booleanos C++ Condiciones C++ Switch C++ While Bucle C++ For Bucle C++ Break/Continue C++ Matrices C++ Estructuras C++ Enumeraciones C++ Referencias C++ Consejos

C++ Funciones

C++ Funciones C++ Parámetros de función C++ Sobrecarga de funciones C++ Alcance C++ Recursión

C++ Clases

C++ POO C++ Clases/Objetos C++ Métodos de clase C++ Constructores C++ Especificadores de acceso C++ Encapsulación C++ Herencia C++ Polimorfismo C++ Archivos C++ Excepciones C++ Fecha

C++ Cómo

Suma dos números Números al azar

C++ Referencia

C++ Referencia C++ Palabras clave C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++ Ejemplos

C++ Ejemplos C++ Compilador C++ Ejercicios C++ Prueba C++ Certificado

Lenguaje C++. W3Schools lecciones en español

Ua En De

C++ Constructores


Constructores

Un constructor en C++ es un método especial que se llama automáticamente cuando se crea un objeto de una clase.

Para crear un constructor, use el mismo nombre que la clase, seguido de paréntesis ():

Ejemplo

class MyClass {     // La clase
  public:           // Especificador de acceso
    MyClass() {     // Constructor
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;    // Crea un objeto de MyClass (esto llamará al constructor)
  return 0;
}
Inténtalo tú mismo »

Nota: El constructor tiene el mismo nombre que la clase, siempre es public y no tiene ningún valor de retorno.


Parámetros del constructor

Los constructores también pueden tomar parámetros (al igual que las funciones regulares), lo que puede resultar útil para establecer valores iniciales para los atributos.

La siguiente clase tiene los atributos brand, model y year, y un constructor con diferentes parámetros. Dentro del constructor, asignamos los atributos a los parámetros del constructor (brand=x, etc.). Cuando llamamos al constructor (creando un objeto de la clase), le pasamos parámetros al constructor, que asignará el valor de los atributos correspondientes a los mismos:

Ejemplo

class Car {        // La clase
  public:          // Especificador de acceso
    string brand;  // Attribute
    string model;  // Atributo
    int year;      // Atributo
    Car(string x, string y, int z) { // Constructor con parámetros
      brand = x;
      model = y;
      year = z;
    }
};

int main() {
  // Crea objetos Car y llama al constructor con diferentes valores
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Valores de impresión
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Inténtalo tú mismo »

Al igual que las funciones, los constructores también se pueden definir fuera de la clase. Primero, declare el constructor dentro de la clase y luego defínalo fuera de la clase especificando el nombre de la clase, seguido del operador de resolución de alcance ::, seguido del nombre del constructor (que es el mismo que el de la clase):

Ejemplo

class Car {        // La clase
  public:          // Especificador de acceso
    string brand;  // Atributo
    string model;  // Atributo
    int year;      // Atributo
    Car(string x, string y, int z); // Declaración del constructor
};

// Definición del constructor fuera de la clase
Car::Car(string x, string y, int z) {
  brand = x;
  model = y;
  year = z;
}

int main() {
  // Crea objetos Car y llama al constructor con diferentes valores
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Valores de impresión
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Inténtalo tú mismo »


Comentarios