You are on page 1of 2

GESTION ESTATICA: El tamaño de un dato esta determinado en compilación (es fijo). GESTION DINAMICA: El tamaño de un dato se determina en ejecución.

Las instrucciones para pedir memoria son: malloc y calloc. int *punt; //Son punteros que nos permiten trabajar con al memoria dinamica NULL //Constante predefinida para inicializar el puntero, en mayúsculas. Malloc: int n; cout<<”\nCuantos elementos quieres en la tabala: “;cin>>n; int *t; t=(int*)malloc(sizeof(int)*n) for(i=0;i<n;i++) t[i]=valores; ARRAY DE OBJETOS Tipo NombreArray[tamaño]; Fecha array[N]; Cuando definimos un array de objetos, se encarga de llamar al constructor por defecto el solo, por tanto debe existir este constructor para que no de error. Variables STATIC Es una variable que es obligatorio inicializarlas, no van asociadas a ningún constructor. En el .cpp [ NombreClase::NombreVariable=0] Esta variable no suele llevar ningún método asociada porque es para trabajar dentro de la clase, si quisiera trabajar con ella en el programa principal si desarrollaría un método. Si quiero trabajar dentro de la clase es un atributo normal pero tengo que inicializarlo en el .cpp static int ultimo_id; Métodos STATIC Cuando quiero utilizar estas variables en métodos que utilizo fuera de la clase, en el main. static int dameUltimoId(); En el .h se pone la palabra static delante, en el .cpp no se pone En el main cuando hago la llamada se realiza de la siguiente forma: NombreClase::NombreMetodo(); Creación dinámica de objetos Operadores new y delete. Subclases Herencia (constructores de las clases hijas) Sobrecarga y sobreescritura Polimorfismo Creación de arrays en el que contiene objetos de todo tipo, para ello creo un array de objeto dinamico de la clase padre y con el operador new puedo hacer que apunte a cualquiera de las clases hijas. Interfaz Clase especial que solo tiene métodos virtuales vacios (no contiene atributos). Todas las clases que hereden de esta interfaz deben implementar sus métodos de forma que los sobreescriben Cuando un método es virtual y no esta desarrollado (esta vació) se dice que es un método virtual puro. Y esa clase que tiene ese metodo virtual puro se convierte en una Interfaz de tal forma que ya no podré definir objetos de esa clase. Por ejemplo: ->Cuadrado Figura ->Circulo Figura (clase padre) contiene un método virtual puro llamado “virual int area()=0;” y las clases Circulo y Cuadrado (clases hijas) implementan esta función, entonces ya no podre construir un objeto Figura porque se ha convertido en una interfaz, podré definir cuadrados y círculos. Este problema de no pode construir un objeto de esa clase podría solucionarse con los punteros.

Listas y Listas doblemente enlazadas .NombreClass::NombreMetodo(---).Si queremos llamar a un método concreto porque hay varios métodos iguales se hace: Objeto.