C++ Clases y Objetos
Clases/Objetos de C++
C++ es un lenguaje de programación orientado a objetos.
Todo en C++ está asociado con clases y objetos, junto con sus atributos y métodos. Por ejemplo, en la vida real, un coche es un objeto. El coche tiene atributos, como peso y color, y métodos, como conducción y freno.
Los atributos y métodos son básicamente variables y funciones que pertenecen a la clase. A menudo se les denomina "miembros de la clase".
Una clase es un tipo de datos definido por el usuario que podemos usar en nuestro programa y funciona como un constructor de objetos o un "modelo" para crear objetos.
Crear una clase
Para crear una clase, utilice la palabra clave class
:
Ejemplo
Crea una clase llamada "MyClass
":
class MyClass { // La clase
public: // Especificador de acceso
int myNum; // Atributo (variable int)
string myString; // Atributo (variable de cadena)
};
Ejemplo explicado
- La palabra clave
class
se utiliza para crear una clase llamadaMyClass
. - La palabra clave
public
es un especificador de acceso, que especifica que los miembros (atributos y métodos) de la clase son accesibles desde fuera de la clase. Aprenderá más sobre los especificadores de acceso más adelante. - Dentro de la clase, hay una variable entera
myNum
y una variable de cadenamyString
. Cuando las variables se declaran dentro de una clase, se denominan atributos. - Por último, finalice la definición de clase con un punto y coma
;
.
¿Cuál es la diferencia entre una Clase y una Estructura?
El ejemplo anterior se parece mucho a una estructura (struct
).
- Las estructuras son mucho más simples que los objetos. A diferencia de los objetos, las estructuras no pueden hacer encapsulación, herencia o polimorfismo, sobre el cual aprenderá más en los próximos capítulos. Si todo lo que necesitas es una colección de variables, una estructura es más fácil de usar que un objeto.
Crear un objeto
En C++, un objeto se crea a partir de una clase. Ya hemos creado la clase llamada MyClass
, por lo que ahora podemos usarla para crear objetos.
Para crear un objeto de MyClass
, especifique el nombre de la clase, seguido del nombre del objeto.
Para acceder a los atributos de clase (myNum
y myString
), utilice la sintaxis de puntos (.
) en el objeto:
Ejemplo
Crea un objeto llamado "myObj
" y accede a los atributos:
class MyClass { // La clase
public: // Especificador de acceso
int myNum; // Atributo (variable int)
string myString; // Attribute (string variable)
};
int main() {
MyClass myObj; // Crear un objeto de MyClass
// Acceder a atributos y establecer valores
myObj.myNum = 15;
myObj.myString = "Some text";
// Imprimir valores de atributos
cout << myObj.myNum << "\n";
cout << myObj.myString;
return 0;
}
Inténtalo tú mismo »
Múltiples objetos
Puedes crear múltiples objetos de una clase:
Ejemplo
// Crea una clase Car con algunos atributos
class Car {
public:
string brand;
string model;
int year;
};
int main() {
// Crear un objeto de Car
Car carObj1;
carObj1.brand = "BMW";
carObj1.model = "X5";
carObj1.year = 1999;
// Crea otro objeto de Car
Car carObj2;
carObj2.brand = "Ford";
carObj2.model = "Mustang";
carObj2.year = 1969;
// Imprimir valores de atributos
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
Inténtalo tú mismo »