Вы находитесь на странице: 1из 3

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERA DPTO.

ELECTRNICA Y TELECOMUNICACIONES TALLER DE REPASO

Taller de repaso Parcial 1 Informtica II 1) En qu consiste cada uno de los siguientes pasos dentro de la compilacin de un algoritmo? a) Preprocesamiento b) Compilacin c) Ensdamblado d) Enlazado 2) Para qu se utilizan las clases abstractas? 3) En la compilacin de un algoritmo cul es la diferencia entre un enlazamiento dinmico y uno esttico? 4) Se puede instanciar directamente las funciones virtuales puras desde las clases abstractas? Por qu? 5) En qu consiste la programacin orientada a objetos? Defina las siguientes caractersticas de la POO: a) Herencia b) Abstraccin c) Polimorfismo d) Encapsulamiento 6) Ventajas y desventajas de la herencia mltiple. 7) Defina los conceptos de: clase, objeto, mtodo, constructor, destructor. 8) Qu son los mtodos puramente virtuales? 9) Cul es la diferencia entre los tipos de acceso: public, private, protected. 10) Para qu se crea una clase base como virtual? 11) En qu consiste el concepto de copia profunda y copia superficial de un objeto? 12) Cmo y para qu se define la sobrecarga de un operador? 13) Para que se declara un mtodo de una clase como constante? 14) Describa paso a paso como se reserva y libera memoria dinmicamente y que ocurre internamente en la memoria en cada paso. 15) El siguiente cdigo tiene algn inconveniente? En caso de tenerlo, Cmo se puede solucionar?
#include <iostream> double *ptr; int main() { for(;;){ ptr=new double; } return 0; }

16) Qu pasa si una clase derivada de varias clases base, hereda un mtodo que tiene la misma firma en todas ellas?

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERA DPTO. ELECTRNICA Y TELECOMUNICACIONES TALLER DE REPASO

17) En qu consiste un dangling pointer y un wild pointer, que pueden generar en un cdigo y qu medidas preventivas se pueden tomar para que no sucedan?. 18) Qu es y Para qu se utilizan los constructores copia? 19) Qu es un mtodo inline y para que se declara como inline? 20) Las siguientes conversiones entre una clase base y una derivada son correctas, Por qu? a) Objeto_claseBase= Objeto_claseDerivada; b) Objeto_claseDerivada= Objeto_claseBase; 21) Qu es una lista enlazada? Cmo se crean las listas enlazadas? Cules son los tipos bsicos de listas enlazadas? 22) En qu consiste el operador :: y cules son sus usos? 23) Describa la diferencia entre las siguientes declaraciones de punteros: const int * pUno, int * const pDos, const int * const pTres. 24) Qu diferencia hay entre estas 3 declaraciones de arreglos de la clase ejemplo? a) ejemplo Uno[100]; b) ejemplo * Tres = new ejemplo[100]; c) ejemplo * Dos[100]; 25) Qu es v-table. 26) Cul es la diferencia de sobrecargar un operador prefijo, de un operador posfijo y un operador binario? 27) Qu es el espacio en memoria free store (heap), stack. Cmo se pueden gestionar dinmicamente? 28) Cmo se puede hacer el manejo de funciones por referencia, explique al menos 2 formas diferentes? 29) Qu es un espacio nombre, cmo se declara y cmo se utiliza? 30) Como se hace para llama un mtodo de la clase base a travs de un objeto de una clase derivada, donde fue redefinido dicho mtodo. 31) Como se hace para pasar argumentos a un constructor de una clase base a partir de una clase derivada? 32) De qu manera pueden ser inicializadas las variables miembro de una clase? 33) Qu es una clase abstracta? 34) Diferencias y semejanzas entre los punteros y referencias, Cundo se debe usar el uno o el otro? 35) Cmo se pueden prevenir las posibles fugas de memoria de nuestro cdigo, si se presenta una fuga de memoria es posible recuperar la memoria en tiempo de ejecucin, qu pasa si nuestro cdigo tienen una gran fuga de memoria? 36) En qu consiste el concept de data slicing? 37) Para que se utiliza el puntero this? 38) Qu ocurre cuando un mtodo que est sobrecargado en una clase base es redefinido en una clase derivada?

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERA DPTO. ELECTRNICA Y TELECOMUNICACIONES TALLER DE REPASO

39) En qu consiste la sobrecarga de mtodos, los constructores y destructores pueden ser sobrecargados?. 40) Se puede declarar un constructor como virtual? Por qu? 41) Describir que error puede haber en el siguiente cdigo:
#include <iostream> class cicla{ private: int color; public: cicla(); void setColor(int _color); int getColor() const; ~cicla(); }; cicla::cicla(){ color=0; } cicla::~cicla(){} int cicla::getColor() const{ return color; } void cicla::setColor(int _color){ color=_color; }

const cicla mybike; const cicla *ptr_mybike=&mybike; int color; int main(){ ptr_mybike->setColor(4); color=ptr_mybike->getColor(); cout<<"el color es:"<<color<<endl; }

42) 43) 44) 45) 46) 47) 48) 49) 50)

Para qu se define un mtodo como virtual? En qu consisten los modos de almacenamiento: auto, extern, static, register. Qu diferencia hay entre sobrecargar y redefinir un mtodo? En qu consisten los dobles punteros, para que se usan? Una clase derivada, hereda todos los elementos de la clase base? Qu pasa si un puntero apunta a un objeto constante? En una clase con mtodos virtuales, por qu el destructor debe ser siempre virtual? Como se reserva y libera memoria dinmicamente para una variable y para un arreglo? Para qu se declara un destructor como virtual?

Вам также может понравиться