CLASES C++
Enviado por Mikki • 27 de Enero de 2018 • 3.054 Palabras (13 Páginas) • 341 Visitas
...
La referencia de una función miembro dentro de la clase se hace utilizando simplemente el nombre de la misma. La referencia a una función miembro fuera de la clase, se realiza con el operador resolución de ámbito ::
NombreClase::NombreMetodo
Las ventajas de tener funciones miembro son dos:
- Aseguran que los objetos nunca tendrán valores sin sentido.
- Estas funciones permiten que los cambios en la realización de la clase puedan hacerse de una forma más sencilla
Constructores y Destructores
Constructores:
Es una función miembro de la clase que reunirá un conjunto de instrucciones cuando crea un objeto.
Sus características son:
- Tiene el mismo nombre que la clase.
- Puede definirse inline o fuera de la declaración de la clase.
- Pueden aceptar parámetros, los cuales puede definirse con valores por defecto.
- Puede estar sobrecargado. Se puede declarar más de un constructor para una misma clase si todos ellos tienen diferente lista de argumentos.
- No devuelven valores.
- El constructor se ejecuta automáticamente cuando se crea un objeto de tipo clase. No se invoca nunca de forma explícita.
Constructores de copia:
Es aquel que crea un nuevo objeto e inicializándolo con datos de otro objeto ya creado
Se invocan cuando se realizan las siguientes acciones:
- Asignaciones entre objetos.
- Paso de parámetros-objeto por valor
Un constructor copia es creado automáticamente por el compilador si no se declara un constructor para la clase
Los constructores copia son importantes por:
- Son el único medio para ser una copia de un objeto.
- Se emplea cuando se pasan objetos por valor a una función.
- Se emplea cuando una función devuelve un objeto.
Destructores:
Es una función miembro de la clase que reunirá un conjunto de instrucciones cuando destruye un objeto.
Sus características son:
- El destructor de un objeto de evoca automáticamente cuando el programa sale del alcance del objeto.
- El destructor también se llama automáticamente cuando se aplica el operador delete a un puntero.
- No puede tener parámetros.
- No devuelve valores.
- Puede definirse inline.
- El destructor se puede declarar en la sección publica
Funciones miembro que retornan una referencia
En ocasiones en C++ se puede ver clases que declaran funciones miembro que retornan referencia a miembros de dato privado, es decir, los están convirtiendo en publico.
Ej:
#include
int max(int, int);
int min(int, int);
class Fecha {
int mes, dia, agno;
public:
Fecha(int, int, int); // Constructor
int &Mes(void);
int ver_mes(void);
};
Fecha::Fecha(int d, int m, int a) {
dia=d; mes=m; agno=a;
}
int &Fecha::Mes(void) {
mes=max(1,mes);
mes=min(mes, 12);
return mes;
}
int Fecha::ver_mes(void) {
return mes;
}
inline int max(int a, int b) {
if (a > b)
return a;
else return b;
}
inline int min(int a, int b) {
if (a
return a;
else return b;
}
void main(void) {
Fecha nacimiento(9, 7, 1971);
cout
cout
nacimiento.Mes()=4;
cout
cout
nacimiento.Mes()=13;
cout
cout
nacimiento.Mes()=-1;
cout
cout
cout
cout
}
Objetos y funciones miembro constante
Objeto const y funciones miembro const:
La palabra const esta reservada para cuando se declare una variable y también se puede usar para la declaración de un objeto lo que significa que el objeto es constante y ninguno de los datos miembros podrá ser modificado.
...