lunes, 30 de mayo de 2011

2º periodo ARTICULOS

Troyanos bancarios, una amenaza para América Latina
Por: Elespectador.com
Brasil, Colombia y México son los países más afectados.
La industria de desarrollo de malware en Latinoamérica hoy en día es un problema de suma atención. Durante los últimos años este fenómeno ha crecido de manera tan vertiginosa que ya han sido detectados varios ataques dirigidos a usuarios de numerosas instituciones bancarias de la región.
De acuerdo con un estudio presentado recientemente por la compañía de seguridad informática, Eset, los troyanos bancarios se han convertido en amenazas de alta propagación y desarrollo local en América Latina.
Los troyanos son códigos maliciosos destinados a obtener, de forma ilegítima, las credenciales de acceso de los usuarios a la banca en línea con el ánimo de robar dinero al usuario.
Brasil, Colombia y México se encuentran entre los países con mayor propagación de códigos maliciosos destinados a robo de información bancaria, según Eset.

“Entre las técnicas que los troyanos bancarios utilizan para obtener los datos de acceso a todo tipo de entidades financieras se pueden mencionar el reemplazo parcial o total del sitio web de la entidad, el envío de capturas de pantalla de la página bancaria (útiles cuando el usuario utiliza teclados virtuales) o incluso la grabación en formato de video de las acciones del usuario mientras accede al sitio web”, explicó Federico Pacheco, gerente de Educación e Investigación de Eset Latinoamérica.
En el ranking de propagación de troyanos bancarios en Latinoamérica elaborado por eset , en el primer puesto se ubica Brasil con el 6% del total, lo que indica  que 1 de cada 17 equipos ha sufrido esta amenaza en lo corrido del año; seguido por Colombia, con el 2.30%, y luego por México, con el 1.73%.
Después se ubican el resto de países: Ecuador (1.72%), Guatemala (1.50%), Chile (1.35%), Argentina (1.13%) y Perú (0.62%).
“El hecho de que las medidas de seguridad utilizadas en la región aún sean más laxas que en el resto del mundo, sumado los retrasos legales en términos de perseguir a los responsables de este tipo de delitos, son algunos de los factores que influyen en este creciente desarrollo de troyanos bancarios en Latinoamérica”, afirmó Sebastián Bortnik, coordinador de Awareness & Research de Eset Latinoamérica.


Sony reabre su última planta paralizada por tsunami
Por: Agencia EFE
Tras el tsunami del 11 de marzo en Japón, la gigante tecnológica tuvo que detener varias de sus fábricas que se encontraban en la zona devastada.
El gigante electrónico japonés Sony reanudó este lunes parcialmente las operaciones en su planta de Tagajo, situada en la provincia de Miyagi. Esta fábrica era la única que todavía continuaba paralizada por los efectos del tsunami del 11 de marzo.
La reapertura de esa fábrica implica que las diez plantas que el grupo japonés tuvo que detener por la catástrofe se encuentran ya activas, detallaron fuentes de Sony.
Así las cosas, las instalaciones de Tagajo han comenzado a producir de nuevo discos Blu-Ray, mientras que se espera que la producción de cintas magnéticas se reanude a finales de julio, según las fuentes.
La planta, que antes del desastre contaba con 1.400 trabajadores, también fabricaba componentes ópticos y electrodos para baterías de iones de litio, pero está previsto que esa producción se traslade a otras factorías de Miyagi o de otras provincias.
El terremoto de 9 grados Richter y posterior tsunami del 11 de marzo obligaron a Sony a reducir su producción y detener una decena de sus fábricas por encontrarse en la zona devastada o por las interrupciones en la cadena de suministros.
El impacto del terremoto ha sido el peor desastre que ha sufrido Japón desde la Segunda Guerra Mundial.








Transbordador Endeavour emprende regreso a la Tierra
Por: Agencia EFE
La misión de 16 días concluirá este miércoles cuando el transbordador aterrice en el Centro Espacial Kennedy.

Foto: EFE

El transbordador espacial estadounidense Endeavour emprendió el lunes su regreso a la Tierra tras desacoplarse de la Estación Espacial Internacional (ISS) la noche del domingo al finalizar su última misión antes de su retiro, informó la NASA.
El desacople ocurrió a las 3H55 GMT del lunes, cuando la estación espacial y el transbordador estaban a 350 km sobre La Paz, Bolivia, precisó la NASA.
Tras la maniobra de desacople, el transbordador dió una vuelta alrededor de la estación para que la tripulación pudiera tomarle fotos.
La tripulación de seis miembros del Endeavour -cinco astronautas de Estados Unidos y el italiano Roberto Vittori- se despidió de sus tres colegas a bordo de la ISS. Las compuertas entre el transbordador y la estación se cerraron a las 11H23 GMT del domingo.
La misión de 16 días del Endeavour comenzó con su lanzamiento desde Cabo Cañaveral, Florida, el 16 de mayo y concluirá cuando el transbordador aterrice en el Centro Espacial Kennedy a 6H35 GMT del miércoles.
Durante casi 11 días en la estación espacial y luego de cuatro excursiones afuera del transbordador, la tripulación instaló el 'Alpha Magnetic Spectrometer-2' (AMS-2), un detector de partículas de 2.000 millones de dólares y 7.000 kg de peso que buscará pistas sobre la materia oscura y la antimateria.
El programa estadounidense de 30 años de transbordadores espaciales termina formalmente este año con el vuelo del Atlantis, fijado para el 8 de julio, dejando las cápsulas espaciales rusas como la única opción para los astronautas del mundo que viajen a la ISS.



Skype publica actualización de su programa que soluciona avería

Por: Elespectador.com

La empresa lanzó una versión para Windows y otra para Mac.

Skype ha publicado una actualización para Windows de su programa que solventa la avería detectada esta semana. El problema tiene alcance mundial pero no afecta a todos los usuarios del servicio.
En el blog español de la compañía, se explica que "algunos usuarios tuvieron problemas para entrar en Skype. Para solucionarlo proporcionamos unas instrucciones pero entendemos que para algunos podía ser demasiado técnico. Así que hemos trabajado duramente para crear una versión para Skype para Windows que resuelve este problema automáticamente. Si eres usuario de Skype para Windows, y has tenido problemas entrando a Skype, por favor actualiza Skype en su última versión".
Las quejas comenzaron en Twitter. Al intentar entrar en Skype, la plataforma de videoconferencia a través de Internet, algunos usuarios veían cómo el servicio rechazaba su registro. Directamente pasaron a culpar a Microsoft, la empresa que compró el servicio hace dos semanas. Sin embargo, el blog de la empresa no solo aclaró que no hay conexión entre ambos hechos, sino que proporcionaba una solución manual para poder conectarse.
A finales de 2010 el servicio también sufrió algunas caídas. Como compensación, Skype entregó a los usuarios afectados vales con minutos en llamadas.











MercadoLibre alcanzó 500 millones de publicaciones

Por: Elespectador.com

La última es una limusina Lincoln ofrecida para bodas, cumpleaños shows y filmaciones.

El portal de compra y venta online, MercadoLibre esta semana alcanzó las 500 millones de publicaciones en Latinoamérica, desde que inició operaciones en agosto de 1999.
El producto 500 millones es una limusina Lincoln, para 8 personas, publicada por un usuario argentino, que la ofrece para bodas, shows, cumpleaños y filmaciones.
Asimismo la compañía de comercio electrónico reportó que durante 2010 fueron publicadas en su plataforma 8 millones de productos al mes, 280.000 por día, 11.600 por hora y 200 productos por segundo.
Ignacio Caride, gerente general de MercadoLibre Colombia, considera que el crecimiento de la oferta de productos en el sitio durante los últimos 5 años se puede explicar principalmente gracias a la penetración de internet en nuevos sectores de la población, la maduración de los usuarios y la evolución de los medios de pago ofrecidos. “De los 500 millones publicados en la historia de la compañía, 100 millones fueron publicados en el 2010 ”, afirma el alto directivo.
El éxito mundial del comercio electrónico ya es una realidad para MercadoLibre. De acuerdo con esta firma tecnológica durante los primeros tres meses de 2011 vendieron 11 millones de productos por un total de U$S 954 millones lo que representa un crecimiento del 30% en relación al mismo período del año anterior.
Actualmente más de 56 millones de personas venden y compran a través del sitio. Durante el 2010, 11 millones de personas compraron al menos un producto a través del sitio y 4 millones vendieron alguno.
Tras más de una década de existencia, MercadoLibre hoy tiene presencia en 12 países de América Latina y Portugal, más de 52 millones de usuarios registrados, 1.500 empleados y cotiza en la bolsa de valores electrónica Nasdaq bajo (NASDAQ: MELI). Sus principales plataformas en la web son MercadoLibre.com y MercadoPago.com.



OEA toma medidas para enfrentar robo de celulares

Por: Elespectador.com

Se creará frente regional para restringir la operación de teléfonos móviles hurtados en cualquier país de la región.

La Comisión Interamericana de Telecomunicaciones, (CITEL) organismo encargado de la promoción de las Telecomunicaciones y las TIC al interior de la Organización de Estados Américanos (OEA), tomó las primeras medidas para enfrentar el robo de celulares en la región de las Américas y el Caribe.
Con la resolución emitida por el organismo internacional se reconoce el robo de celulares como una realidad que desborda las fronteras nacionales.
En el encuentro, la administración colombiana invitó a las demás administraciones a tomar medidas para restringir la operación de equipos terminales móviles hurtados en cualquier país de la región, creando un frente regional que implemente acciones contra el robo de celulares.
La propuesta presentada por el Ministerio TIC recibió el apoyo de las delegaciones de Estados Unidos, México, Argentina, Brasil, Canadá, Costa Rica, Ecuador y Venezuela durante sesión adelantada en República Dominicana entre el 17 al 20 de mayo.
De esta manera se empiezan a ver los primeros resultados internacionales del Decreto 1630 emitido por el Gobierno Nacional el pasado 19 de mayo por medio del cual se adoptaron medidas para restringir la operación de equipos terminales hurtados.
“Con la resolución emitida por la CITEL damos el primer paso para la implementación del componente internacional del Decreto 1630 que busca enfrentar el robo de celulares a manos de las mafias internacionales y nacionales. Con estas medidas técnicas queremos frenar atacar el corazón de estas organizaciones ilegales”, señaló el ministro TIC, Diego Molano Vega.
De otra parte, esta semana en el Comité Andino de Autoridades de Telecomunicaciones (CAATEL) organismo que pertenece a la Comunidad Andina de Naciones (CAN), conformado por Bolivia, Ecuador, Perú y Colombia se discutirá la misma propuesta.
Este organismo también estudia la posibilidad de tomar medidas para enfrentar el robo de celulares en los países que lo conforman. La propuesta también será discutida en la Unión de Naciones Suramericanas (UNASUR).


Alaska Airlines reemplaza los manuales de vuelo por iPads

Por: Agencia EFE

Los 600 gramos que pesa uno de esos dispositivos sustituirán a los más de 11 kilogramos que suponen los 41 manuales.

La aerolínea Alaska Airlines decidió reemplazar los manuales de vuelo tradicionales por versiones en formato electrónico que sus pilotos podrán consultar en iPads y que ayudarán a reducir el peso portado en los aviones.
"Como parte de un continuo esfuerzo por usar la tecnología para reforzar la seguridad de los vuelos, aumentar la eficiencia y proteger el medioambiente, Alaska Airlines ofrecerá iPads a sus pilotos", anunció hoy la compañía en un comunicado.
En él, detalla que los 600 gramos que pesa uno de esos dispositivos sustituirán a los más de 11 kilogramos que suponen los 41 manuales y documentos que se le exige a los pilotos que lleven con ellos en cada vuelo, al tiempo que su formato electrónico permitirá hacer búsquedas más rápidas por los textos.
Además, "actualizar estos materiales de referencia ahora se podrá hacer con un sólo 'click' en la pantalla del iPad, en lugar del antiguo y trabajoso proceso de sustituir hoja por hoja", explicó la aerolínea, que ya ha probado esta iniciativa entre algunos de sus profesionales y prevé haber distribuido los dispositivos de Apple entre todos sus pilotos a mediados de junio.
"Habíamos estado estudiando la idea de un formato electrónico de los documentos de vuelo durante años, pero nunca habíamos encontrado un dispositivo que realmente nos convenciera", explicó el vicepresidente de operaciones de vuelo de Alaska Airlines, Gary Beck, en el comunicado.
La empresa estudia también reemplazar los mapas físicos de navegación por versiones electrónicas para el iPad y asegura que ambas iniciativas podrían ahorrar un gran consumo de papel y reducir las dolencias musculares de los pilotos por cargar a diario con un material que puede superar los 22 kilogramos.







Principio del formulario
Final del formulario


Es la primera vez en que su logo está inspirado en una fiesta tradicional colombiana.
En el inicio del Festival de la Leyenda Vallenata, que irá hasta el 30 de abril, el  gigante de internet este martes publicó en su dominio para Colombia un doodle (logotipo) alusivo a esta tradicional fiesta folclórica.
De este modo, los internautas podrán  ver  durante 24 horas (en www.google.com.co) el logo de Google ‘vestido’ de vallenato, con acordeón y sombrero ‘vueltiao’.
Y es que para celebrar eventos especiales, Google acostumbra a cambiar el logo tradicional por uno alusivo al evento. En esta ocasión, la empresa de internet ha decidido  utilizar elementos alusivos a la parranda costeña, para rendirle un homenaje a esta  tradicional fiesta colombiana, celebrada anualmente en Valledupar.
Claro que esta no es la primera vez que Google realiza un doodle para Colombia porque ya lo había hecho en 2008 y  2010 para conmemorar el Día de la Independencia nacional.  Sin embargo sí es la primera oportunidad en la que la imagen está inspirada en una fiesta tradicional colombiana.
Ya es costumbre de la compañía estadounidense utilizar su logo para  sustituir letras por gráficos o acompañarlo con imágenes de un tema con reconocimiento mundial o local, fiestas patrias, personajes ilustres e inventos.  Incluso,  ha realizado convocatorias masivas para que los usuarios también participen con su creatividad y modifiquen su imagen.
Así, Google demuestra una vez más su interés por el mercado nacional;  no solo aumentando su presencia en el país, sino además involucrándose directamente con sus usuarios a través de la cultural local.

jueves, 31 de marzo de 2011

Trabajo de Informatica

Trabajo de Informática.

Lenguaje C++.


Presentado por:
Gina Duque.
Vanessa Escobar.
Sergio Carrascal.
Jessica Torres.
Francisco Vargas.


Presentado a:
Jose Luís Trespalacios.


Grado 11-01

Martes 15 de Marzo de 2011.

INSTITUTO TÉCNICO CULTURAL DIOCESANO.
Magangué-Bolívar.
Trabajo de Informática.

Introducción…..……………………………………….…………………………………….3
Objetivo.……………………………………………………………………………………...4
Lenguaje C++…………………………………………………………………………………………….5
Conclusión…………………………………………………………………………………11
Bibliografía…………………………………………………………………………………12


Lenguaje C++.
Introducción.
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

Objetivo.
El objetivo del siguiente trabajo, es orientarnos acerca de uno de los lenguajes de programación más usados por las personas hoy en día,  y aprender a usar este lenguaje de programación para nuestro beneficio.

Lenguaje C++.
Generalidades
C++ es un lenguaje imperativo orientado a objetos derivado del C [1].  En realidad un superconjunto de C, que nació para añadirle cualidades y características de las que carecía.  El resultado es que como su ancestro, sigue muy ligado al hardware subyacente, manteniendo una considerable potencia para programación a bajo nivel, pero se la han añadido elementos que le permiten también un estilo de programación con alto nivel de abstracción

1. Tamaños asociados

Tamaños de tipos primitivos bajo i386 (GCC)
Tipo
Número de Bits
char
8
short
16
int
32
float
32
double
64
Según la máquina y el compilador que se utilice los tipos primitivos pueden ocupar un determinado tamaño en memoria. La siguiente lista ilustra el número de bits que ocupan los distintos tipos primitivos la arquitectura x86.
Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no dice nada acerca de cuál es el número de bits en un byte, ni del tamaño de estos tipos; más bien, ofrece solamente las siguientes "garantías de tipos":
§  Un tipo char tiene el tamaño mínimo en bytes asignable por la máquina, y todos los bits de este espacio deben ser "accesibles".
§  El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1.
§  Un tipo short tiene al menos el mismo tamaño que un tipo char.
§  Un tipo long tiene al menos el doble tamaño en bytes que un tipo short.
§  Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive, preferentemente el tamaño de un apuntador de memoria de la máquina.
§  Un tipo unsigned tiene el mismo tamaño que su versión signed.
wchar_t
Para la versión del estándar que se publicó en 1998, se decidió añadir el tipo de dato wchar_t, que permite el uso de caracteres UNICODE, a diferencia del tradicional char, que contempla simplemente al código de caracteres ASCII extendido. A su vez, se ha definido para la mayoría de las funciones y clases, tanto de C como de C++, una versión para trabajar con wchar_t, donde usualmente se prefija el carácter w al nombre de la función (en ocasiones el carácter es un infijo). Por ejemplo:
§  strcpy - wstrcpy
§  std::string - std::wstring
§  std::cout - std::wcout
Cabe resaltar que en C se define wchar_t como:
typedef unsigned short wchar_t;
Mientras que en C++ es en sí mismo un tipo de dato.

]La palabra clave "void"

La palabra clave void define en C++ el concepto de no existencia o no atribución de un tipo en una variable o declaración. Como tal, puede ser usada para destacar que una función no recibe parámetros, como en:
int funcion (void);

 

2.Principios

Todo programa en C++ debe tener la función main() (a no ser que se especifique en tiempo de compilación otro punto de entrada, que en realidad es la función que tiene el main())
int main()
{}
La función main debe tener uno de los siguientes prototipos:
int main()
int main(int argc, char** argv)
int main(int argc, char** argv, char** env)
La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env.
El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el compilador es responsable de agregar la salida adecuada.

3.El concepto de clase

Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la programación orientada a objetos un objeto consta de:
1.   Métodos o funciones
2.   Atributos o Variables Miembro
Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.
Este es otro ejemplo de una clase:
class Punto
{
//por omisión los miembros son 'private' para que sólo se puedan modificar desde la propia clase.
private: 
        // Variable miembro privada
        int id;
protected:
        // Variables miembro protegidas
        int x;
        int y;
public:
        // Constructor
        Punto();
        // Destructor
        ~Punto();
        // Funciones miembro o métodos
        int ObtenerX();
        int ObtenerY();
};

3.1Constructores

Son unos métodos especiales que se ejecutan automáticamente al crear un objeto de la clase. En su declaración no se especifica el tipo de dato que devuelven, y poseen el mismo nombre que la clase a la que pertenecen. Al igual que otros métodos, puede haber varios constructores sobrecargados, aunque no pueden existir constructores virtuales.
Como característica especial a la hora de implementar un constructor, justo después de la declaración de los parámetros, se encuentra lo que se llama "lista de inicializadores". Su objetivo es llamar a los constructores de los atributos que conforman el objeto a construir.
Cabe destacar que no es necesario declarar un constructor al igual que un destructor, pues el compilador lo puede hacer, aunque no es la mejor forma de programar.
Tomando el ejemplo de la Clase Punto, si deseamos que cada vez que se cree un objeto de esta clase las coordenadas del punto sean igual a cero podemos agregar un constructor como se muestra a continuación:
class Punto
{
public:
 
 // Coordenadas del punto
 
      float x;
      float y;  
 
 // Constructor
 
      Punto() : x ( 0 ), y ( 0 ) // Inicializamos las variables "x" e "y"
      {}
 
};
 
// Main para demostrar el funcionamiento de la clase
 
# include <iostream> // Esto nos permite utilizar "cout"
 
using namespace std;
 
int main()
{
    Punto MiPunto;         // creamos un elemento de la clase Punto llamado MiPunto
 
    cout << "Coordenada X: " << MiPunto.x << endl;    // mostramos el valor acumulado en la variable x
    cout << "Coordenada Y: " << MiPunto.y << endl;    // mostramos el valor acumulado en la variable y 
    return 0;
}
Si compilamos y ejecutamos el anterior programa, obtenemos una salida que debe ser similar a la siguiente:
Coordenada X:0 Coordenada Y:0
Existen varios tipos de constructores en C++:
1.   Constructor predeterminado. Es el constructor que no recibe ningún parámetro en la función. Si no se definiera ningún constructor, el sistema proporcionaría uno predeterminado. Es necesario para la construcción de estructuras y contenedores de la STL.
2.   Constructor de copia. Es un constructor que recibe un objeto de la misma clase, y realiza una copia de los atributos del mismo. Al igual que el predeterminado, si no se define, el sistema proporciona uno.
3.   Constructor de conversión. Este constructor, recibe como único parámetro, un objeto o variable de otro tipo distinto al suyo propio. Es decir, convierte un objeto de un tipo determinado a otro objeto del tipo que estamos generando.
Constructores + Memoria heap Un objeto creado de la forma que se vio hasta ahora, es un objeto que vive dentro del scope(las llaves { }) en el que fue creado. Para que un objeto pueda seguir viviendo cuando se saque de el scope en el que se creó, se lo debe crear en memoria heap. Para esto, se utiliza el operador new, el cual asigna memoria para almacenar al objeto creado, y además llama a su constructor(por lo que se le pueden enviar parametros). El operador new se utiliza de la siguiente manera:
int main() {
  Punto *unPunto = new Punto(); //esto llama al contructor que se describe más arriba
  delete unPunto;               //no hay que olvidarse de asignar la memoria ocupada por el objeto(ver la sección destructores, más abajo)
  return 0;
}
Además, con el operador new[] se pueden crear arreglo de tamaño dinámico:
Punto *asignar(int cuantos) {
  return new Punto[cuantos]; //asigna un arreglo de 'cuantos' puntos(se llama el constructor que se muestra más arriba), y se retorna.
}

3.2Destructores

Véase también: Destructor (informática)
Los destructores son funciones miembro especiales llamadas automáticamente en la ejecución del programa, y por tanto no tienen por qué ser llamadas explícitamente por el programador. Sus principales cometidos son:
§  Liberar los recursos computacionales que el objeto de dicha clase haya adquirido en tiempo de ejecución al expirar éste.
§  Quitar los vínculos que pudiesen tener otros recursos u objetos con éste.
Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto. El único caso en el que se debe invocar explícitamente al destructor de un objeto, es cuando éste fue creado mediante el operador new, es decir, que éste vive en memoria heap, y no en la pila de ejecución del programa. La invocación del destructor de un objeto que vive en heap se realiza a través del operador delete o delete[] para arreglos. Ejemplo:
int main() {
  int *unEntero = new int(12);         //asignamos un entero en memoria heap con el valor 12
  int *arregloDeEnteros = new int[25]; //asignamos memoria para 25 enteros(no estan inicializados)
  delete unEntero;                     //liberamos la memoria que ocupaba unEntero
  delete[] arregloDeEnteros;           //liberamos la memoria ocupada por arregloDeEnteros
  return 0;
}
Si no se utilizara el operador delete y delete[] en ese caso, la memoria ocupada por unEntero y arregloDeEnteros respectivamente, quedaría ocupada sin sentido. Cuando una porcion de memoria queda ocupada por una variable que ya no se utiliza, y no hay forma de acceder a ella, se denomina un 'memory leak'. En aplicaciones grandes, si ocurren muchos memory leaks, el programa puede terminar ocupando bastante más memoria RAM de la que debería, lo que no es para nada conveniente. Es por esto, que el manejo de memoria heap debe usarse conscientemente.
Existen dos tipos de destructores pueden ser públicos o privados, según si se declaran:
§  Si es público se llama desde cualquier parte del programa para destruir el objeto.
§  Si es privado no se permite la destrucción del objeto por el usuario.
El uso de destructores es clave en el concepto de Adquirir Recursos es Inicializar.

4.    Diferencias de tipos respecto a C

En C++, cualquier tipo de datos que sea declarado completo (fully qualified, en inglés) se convierte en un tipo de datos único. Las condiciones para que un tipo de datos T sea declarado completo son a grandes rasgos las siguientes:
§  Es posible al momento de compilación conocer el espacio asociado al tipo de datos (es decir, el compilador debe conocer el resultado desizeof(T)).
§  T Tiene al menos un constructor, y un destructor, bien declarados.
§  Si T es un tipo compuesto, o es una clase derivada, o es la especificación de una plantilla, o cualquier combinación de las anteriores, entonces las dos condiciones establecidas previamente deben aplicar para cada tipo de dato constituyente.
En general, esto significa que cualquier tipo de datos definido haciendo uso de las cabeceras completas, es un tipo de datos completo.
En particular, y, a diferencia de lo que ocurría en C, los tipos definidos por medio de struct o enum son tipos completos. Como tales, ahora son sujetos a sobrecarga, conversiones implícitas, etcétera.
Los tipos enumerados, entonces, ya no son simplemente alias para tipos enteros, sino que son tipos de datos únicos en C++. El tipo de datos bool, igualmente, pasa a ser un tipo de datos único, mientras que en C funcionaba en algunos casos como un alias para alguna clase de dato de tipo entero.

Compiladores

Uno de los compiladores libres de C++ es el de GNU, el compilador G++ (parte del proyecto GCC, que engloba varios compiladores para distintos lenguajes). Otros compiladores comunes son Intel C++ Compiler, el compilador de Xcode, el compilador de Borland C++, el compilador de CodeWarrior C++, el compilador g++ de Cygwin, el compilador g++ de MinGW, el compilador de Visual C++, Carbide.c++, entre otros.

Conclusión.

A partir de este trabajo, podimos darnos cuenta de la gran importancia  y necesidad en que radica el Lenguaje C++, y del éxito rotundo que ha tenido, con mecanismos que  permiten la manipulación de objetos.

Bibliografía