Clase: Una clase en C ++ es el bloque de construcción que conduce a la programación orientada a objetos. Es un tipo de datos definido por el usuario, que contiene sus propios miembros de datos y funciones de miembros, a los que se puede acceder y utilizar creando una instancia de esa clase. Una clase de C ++ es como un modelo para un objeto.
Por ejemplo: considere la clase de Carros. Puede haber muchos autos con diferentes nombres y marcas, pero todos compartirán algunas propiedades comunes, como todos ellos tendrán. 4 ruedas, Límite de velocidad, Rango de kilometraje etc. Así que aquí, el coche es la clase y las ruedas, los límites de velocidad, el kilometraje son sus propiedades.
- Una clase es un tipo de datos definido por el usuario que tiene miembros de datos y funciones de miembro.
- Los miembros de datos son las variables de datos y las funciones de miembro son las funciones que se utilizan para manipular estas variables y, en conjunto, estos miembros de datos y las funciones de miembro definen las propiedades y el comportamiento de los objetos en una clase.
- En el ejemplo anterior de clase Coche, el miembro de datos será Límite de velocidad, kilometraje etc y las funciones de los miembros pueden ser aplicar frenos, aumentar la velocidad etc.
Un Objeto es una instancia de una clase. Cuando se define una clase, no se asigna memoria, pero cuando se instancia (es decir, se crea un objeto) se asigna memoria.
Definición de clase y declaración de objetos
Una clase se define en C ++ usando la palabra clave class seguida del nombre de la clase. El cuerpo de la clase se define dentro de las llaves y termina con un punto y coma al final.
Declaración de objetos: Cuando se define una clase, solo se define la especificación del objeto; no se asigna memoria ni almacenamiento. Para utilizar los datos y las funciones de acceso definidas en la clase, necesita crear objetos.
Sintaxis:
ClassName ObjectName;
Acceso a miembros de datos y funciones de miembros: Se puede acceder a los miembros de datos y las funciones de miembros de la clase usando el operador de punto (‘.’) Con el objeto. Por ejemplo, si el nombre del objeto es obj y desea acceder a la función de miembro con el nombre printName () entonces tendrás que escribir obj.printName () .
Acceso a miembros de datos
También se accede a los miembros de datos públicos de la misma manera, dado que, sin embargo, el objeto no puede acceder directamente a los miembros de datos privados. El acceso a un miembro de datos depende únicamente del control de acceso de ese miembro de datos.
Este control de acceso lo proporcionan los modificadores de acceso en C ++. Hay tres modificadores de acceso: público, privado y protegido.
|
Producción:
Geekname is: Abhi
Funciones de los miembros en clases
Hay 2 formas de definir una función miembro:
- Definición de clase interna
- Definición de clase externa
Para definir una función miembro fuera de la definición de clase, tenemos que usar el operador scope resolution :: junto con el nombre de la clase y el nombre de la función.
|
Producción:
Geekname is: xyz Geek id is: 15
Tenga en cuenta que todas las funciones miembro definidas dentro de la definición de clase son por defecto en línea, pero también puede hacer cualquier función que no sea de clase en línea usando palabras clave en línea con ellos. Las funciones en línea son funciones reales, que se copian en todas partes durante la compilación, como la macro de preprocesador, por lo que se reduce la sobrecarga de la llamada de función.
Nota: Declarar una función de amigo es una forma de otorgar acceso privado a una función que no es miembro.
Constructores
Los constructores son miembros de clases especiales a los que el compilador llama cada vez que se crea una instancia de un objeto de esa clase. Los constructores tienen el mismo nombre que la clase y pueden definirse dentro o fuera de la definición de la clase.
Hay 3 tipos de constructores:
|
Producción:
Default Constructor called Geek id is: -1 Parameterized Constructor called Geek id is: 21
A Copiar constructor crea un nuevo objeto, que es una copia exacta del objeto existente. El compilador proporciona un constructor de copia predeterminado para todas las clases.
Sintaxis:
class-name (class-name &){}
Destructores
Destructor es otra función miembro especial a la que llama el compilador cuando finaliza el alcance del objeto.
|
Producción:
Destructor called for id: 0 Destructor called for id: 1 Destructor called for id: 2 Destructor called for id: 3 Destructor called for id: 4 Destructor called for id: 7
Destructor virtual puro
Artículos relacionados:
Este artículo es una contribución de Abhirav Kariya. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a [email protected] Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.