C ++: los objetos

Creando objetos

En C ++, hay dos formas de crear objetos, es decir, crear una instancia de una clase:

  • Inactivamente
  • Dinamicamente

Creando objeto estático

La creación de objetos estáticos implica crear un objeto asignándole un nombre, como lo haría para una variable:

 Name_of_class Name_of_objet; 

Así, se accede al objeto a través de su nombre ...

Creando un objeto dinámico

La creación de un objeto dinámico implica la creación de un objeto por el propio programa de acuerdo con sus "necesidades". Los objetos dinámicos no tienen un nombre fácilmente, en su lugar, pueden ser identificados por punteros.

Durante la creación de un objeto dinámico:

  • Definición de un puntero a una clase dada.
  • Cree el objeto utilizando la nueva palabra clave, que también devolverá la dirección del objeto recién creado.
  • Asigna la dirección al puntero.

La sintaxis es la siguiente:

 Class_name * Pointer_name; Pointer_name = new Class_Name; 

Usando este puntero, podrá manipular el objeto "dinámico" (funciones y / o miembros de datos).

Cualquier objeto creado dinámicamente con la nueva palabra clave debe destruirse al final de su uso con la palabra clave eliminar. De lo contrario, innecesariamente ocupará una parte de la memoria (incluso después de cerrar el programa). Los objetos creados estáticamente no necesitan ser destruidos, se eliminan automáticamente. Tras la eliminación de un objeto dinámico, se libera la memoria que ocupaba. A continuación, debe asignar el valor NULL al puntero.

Acceder a los miembros de datos de un objeto.

El acceso a los miembros de datos de un objeto se realiza de manera diferente dependiendo de si el objeto se creó de forma estática o dinámica:

  • Para los objetos creados de manera estática, el acceso a los miembros de datos se realiza a través del nombre del objeto seguido de un punto (.), Luego el nombre del miembro de datos. Por ejemplo:

 Object_name.Data_Member_Name = Valor; 
  • En cuanto a los objetos dinámicos, el acceso a los miembros de datos se realiza a través del puntero:

 Pointer_name-> Data_Member_name = Value; 
  • Si alguna vez el miembro de datos es el puntero de un objeto, puede acceder a sus miembros de datos a través del objeto actual:

 Pointer_name-> Data_Member_name-> Data_Member_name = Valor; 

Acceso a las funciones miembro.

El acceso a las funciones de un objeto se realiza de la misma manera que para los miembros de datos:

Para objetos estáticos:

 Nombre_objeto.Nombre_de_función (parámetro1, parámetro2, ...); 

Para objetos dinámicos:

 Nombre_punto-> Nombre_de_función (parámetro1, parámetro2, ...); 

Documento original publicado en CommentcaMarche.net.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos