una programacion orientada objetos miembros metodos herencia ejemplos codigo clases clase c++ class constructor class-design

c++ - programacion - ¿Qué agrega un compilador a una declaración de clase vacía?



miembros de una clase en programacion orientada a objetos (4)

Esta completo. Pero hay dos puntos que debes tener en cuenta:

  1. Es el operador copy =. Al igual que hay un constructor de copia , hay un operador de asignación de copias .
  2. Solo se proporcionan si realmente se usan.

Alguna explicación para 2:

struct A { private: A(); }; struct B : A { };

¡Esta bien! Proporcionar un constructor predeterminado estaría mal formado para "B", porque no podría llamar al constructor de la clase base. Pero el constructor predeterminado (y las otras funciones especiales) solo se proporciona (decimos que está implícitamente definido ) si realmente se necesita.

Supongamos, escribo

class A { };

El compilador debe proporcionar (según sea necesario)

  1. un constructor
  2. un destructor
  3. un constructor de copia
  4. = operador

¿Esto es todo lo que el compilador proporciona? ¿Hay adiciones o eliminaciones a esta lista?


Tu lista esta completa Esto es todo lo que está agregando.


La lista no está completa ............ Además de la mencionada CUATRO propiedades, hay un operador de dirección (&) método sobrecargado, que devuelve la dirección del objeto invocado, también se proporciona automáticamente por el compilador


Hay cinco propiedades:

constructor

copia constructor

incinerador de basuras

operador de asignación

el operador de referencia (&) - la dirección