index.htm

RECETAS DE NAVIDAD

- apuntes comunicaciones javascript lenguaje c php autoayuda bolsa chistes empleo fotografia digital ocio sabiasque salud timos trucos

PUNTEROS A CLASES EN C

Punteros a clases.

Como cualquier otro tipo de dato, podemos tener punteros a clases, punteros a punteros a clases, punteros a punteros a punteros a clases, etc. Veamos un ejemplo:

# include <iostream.h>

# include 'Caja.h'

main() {

Caja grande (20, 10, 30);

Caja *punteroACaja1;

Caja *punteorACaja2;

punteroACaja1 = new Caja;

punteroACaja2 = new Caja(1, 2, 3);

cout << 'El volumen de la caja grande es ' << grande.volumen() << '\n';

cout << 'El nuevo volumen dos es ' << punteroACaja2 -> volumen() << '\n';

punteroACaja1 -> set (2, 4, 6);

cout << 'El nuevo volumen 1 es ' << punteroACaja1 -> volumen() << '\n';

delete punteroACaja1, punteroACaja2;

}

La salida de este programa sera:

El volumen de la caja grande es 6000

El nuevo volumen 2 es 6

El nuevo volumen 1 es 48

En este ejemplo hemos declarado dos punteros, punteroACaja1 y punteroACaja2, a objetos del tipo Caja. Hemos reservado memoria para la clase utilizando new y al final de la funcion la hemos liberado utilizando delete.

Cuando declaramos punteroACaja1 y punteroACaja2 no se llama al constructor de Caja. Esto se hace cuando reservamos memoria para un objeto de ese tipo.

El acceso a los componentes del objeto se hace a traves del operador ->

Las siguientes sentencias son equivalentes:

punteroACaja1 -> volumen()

(*punteroACaja1).volumen()

pero la notacion -> es la que se suele utilizar.

Si la clase tuviese un destructor, este seria llamado automaticamente cuando liberamos la memoria reservada dinamicamente para punteroACaja1 y punteroACaja2.

Anterior paso:
clases puntero interno
Siguiente paso:
8 objetos encadenados

· Introduccion al lenguaje c
· Tipos en el lenguaje c
· Variables y constantes en el lenguaje c
· Operadores en el lenguaje c
· Entrada/salida en el lenguaje c
· Estructuras de control en el lenguaje c
· Arrays y punteros en el lenguaje c
· Reserva dinamica de memoria en el lenguaje c
· Funciones en el lenguaje c
· Estructuras en el lenguaje c
· Clases
· Clases y encapsulacion en el lenguaje c
· Constructores y destructores en el lenguaje c++
· Descomposicion en modulos en el lenguaje c
· Array de objetos en el lenguaje c
· Clases static en lenguaje c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en el lenguaje c

IMPORTANTE:

- Si te ha gustado esta pagina, por favor, votanos aqui:

- Si no te ha gustado, escribenos y cuentanos en que mejorar.

Actualizado: 16/12/2013