index.htm

PREPARATE PARA EL VERANO

aeromodelismo - apuntes comunicaciones javascript lenguaje c php autoayuda bolsa bricolage chistes deportes empleo fotografia digital mascotas motor ocio pisos plantas recetas sabiasque salud thermomix 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 2 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:
clases puntero interno


Siguiente:
8 objetos encadenados



apuntes lenguaje c:

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

IMPORTANTE:

- Si te ha gustado esta pagina, por favor, votanos aqui:
- Si no te ha gustado, escribenos y cuentanos en que mejorar.

Actualizado: 20/05/2013




· · · · ·