Objetos de tipo de clase
Un objeto es una región con tipo de almacenamiento en el entorno de ejecución; además de conservar la información de estado, también define el comportamiento.Los objetos de tipo de clase son definido mediante nombre de clase.Observe el fragmento de código siguiente:
// class_type_objects.cpp
class Account
{
public:
Account() // Default constructor
{
}
Account( double ); // Construct from double.
double& Deposit( double );
double& Withdraw( double, int );
};
int main()
{
Account CheckingAccount; // Define object of class type.
}
El código anterior declara una clase (nuevo tipo) Accountdenominado.Utilice este nuevo tipo para definir un objeto denominado CheckingAccount.
Las operaciones siguientes son definidas por C++ para los objetos de tipo de clase:
asignación.un objeto se puede asignar a otro.El comportamiento predeterminado para esta operación es una copia miembro a miembro.Este comportamiento puede modificarse proporcionando un operador de asignación definido por el usuario.
Inicialización mediante constructores de copias.
Los siguientes son ejemplos de inicialización mediante constructores de copia definido por el usuario:
inicialización explícita de un objeto.Por ejemplo:
Point myPoint = thatPoint;
declara myPoint como objeto de Point escrito y se inicializa en el valor de thatPoint.
Inicialización que se pasan como argumento.Los objetos se pueden pasar a funciones por valor o por referencia.Si se pasan por valor, una copia de cada objeto se pasa a la función.El método predeterminado para crear la copia es copia miembro a miembro; esto puede ser modificada proporcionando un constructor de copia definido por el usuario (constructor que toma un único argumento de tipo “referencia a la clase”).
inicialización producida por la inicialización de valores devueltos de funciones.Los objetos se pueden devolver de funciones por valor o por referencia.El método predeterminado para devolver un objeto por valor es una copia miembro a miembro; esto puede ser modificada proporcionando un constructor de copia definido por el usuario.Un objeto devuelto por referencia (utilizando puntero o tipos de referencia) no debe ser automático y local a la función llamada.Si es, el objeto al que hace referencia el valor devuelto habrá salido del ámbito antes de poderse utilizar.
operadores sobrecargados explica cómo volver a definir otros operadores según la clase-por-clase.