SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Desayunos Técnicos Trampas en C++
Desayunos Técnicos Trampas en C++ "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg." Bjarne Stroustrup   ¿Qué es C++? ,[object Object],[object Object],[object Object]
Desayunos Técnicos Trampas en C++ ¿Trampas en C++? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desayunos Técnicos Trampas en C++ TR1 – Nivel 1 void  main() {    char  *s = "hola!";    s[0] = 'm';    printf ("%s", s); } ¿Cuál será la salida del programa? 1) Error de compilación. 2) hola! 3) Error de ejecución. 4) mola!
Desayunos Técnicos Trampas en C++ TR1 – Nivel 1 ,[object Object],[object Object],[object Object],3!
Desayunos Técnicos Trampas en C++ TR2 – Nivel 1 class  A1 {  virtual  ~A1() {  printf ("A1,"); }  }; class  A2 {  ~A2() {  printf ("A2,");} }; class  B1 :  public  A1 {  ~B1() {  printf ("B1,");} }; class  B2 :  public  A2 {  ~B2() {  printf ("B2,");}  }; B1* b1 =  new  B1();  delete  b1; B2* b2 =  new  B2();  delete  b2; A1* ab1 =  new  B1();  delete  ab1; A2* ab2 =  new  B2();  delete  ab2; ¿Cuál será la salida del programa? 1)   B1, B2, A1, A2, 2) B1, A1, B2, A2, B1, A1, B2, A2, 3) B1, A1, B2, A2, B1, A1, A2, 4) B1, A1, B2, A2, A1, A2,
Desayunos Técnicos Trampas en C++ TR2 – Nivel 1 ,[object Object],[object Object],[object Object],3!
Desayunos Técnicos Trampas en C++ TR3 – Nivel 1 struct  MyStruct {  int  array[4]; int  n1; int  n2; }; int   main () {  MyStruct str; str.n1 = 10; str.n2 = 20;  str.array[3] = 3; str.array[5] = 5; printf ("%d",str.n1); printf ("%d",str.n2); printf ("%d",str.array[3]); printf ("%d",str.array[5]); } ¿Cuál será la salida del programa? 1) Error de compilación 2) 10, 5, 3, 5 3) Error en tiempo de ejecución 4) 10, 20, 3, 5 5) 10, 20, 3, Basura (variable sin inicializar)
Desayunos Técnicos Trampas en C++ TR3 – Nivel 1 ,[object Object],[object Object],[object Object],2!
Desayunos Técnicos Trampas en C++ TR4 – Nivel 1 void   main () { int  *array =  getArray (); printf (“%d",array[0]); algoritmo (); printf ("%d",array[0]); } int  * getArray () { int  a[3] = {1, 2, 3};  printf("%d", a[0]); return  a; } void   algoritmo () {  int  datos[10] = {11,12,13,14,15,16,17,18,19,20};  int  n = datos[2] + datos[3] * datos[7]; printf ("blah blah blah "); } ¿Cuál será la salida de este programa? 1) 1, ‘INDEFINIDO’, blah blah blah, ‘INDEFINIDO’ 2) 1, ‘INDEFINIDO’, blah blah blah, 1 3) Error en tiempo de ejecución 4) 1, 1, blah blah blah, 1 5) 1, 1, blah blah blah, ‘INDEFINIDO’
Desayunos Técnicos Trampas en C++ TR4 – Nivel 1 ,[object Object],[object Object],[object Object],5!
Desayunos Técnicos Trampas en C++ TR5 – Nivel 1 ¿Cuál será la salida del programa? 1) 1, 1, 1, 1, 1, 1 2) 0, 0, 0, 0,  0, 0 3) 0, 0, 1, 1, 0, 0 4) 0, 0, 1, 1,  1, 1 struct  Point {  int  x, y; }; struct  Data  { Point point; Point *ppoint; int  array[2]; }; void  main() { Point p = {0,0}; Data d1,d2; d1.point.x = 0; d1.point.y = 0; d1.ppoint = &p; d1.array[0] = 0; d1.array[1] = 0; d2 = d1; d1.point.x = 1; d1.point.y = 1; p.x = 1; p.y = 1; d1.array[0] = 1; d1.array[1] = 1; printf ("%d %d", d2.point.x, d2.point.y); printf ("%d %d", d2.ppoint->x,d2.ppoint->y);  printf ("%d %d", d2.array[0],d2.array[1]);  }
Desayunos Técnicos Trampas en C++ TR5 – Nivel 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],3!
Desayunos Técnicos Trampas en C++ TR6 – Nivel 1 class  A {  private : static int  m_refCount; int  m_objNumber; public : A() { m_objNumber = ++m_refCount; } ~A() {  printf (&quot;n %d&quot;, m_objNumber);  } }; int  A::m_refCount = 0;  ¿Cuál será la salida del programa? 1)  n 1, n 2, n 3, n 4 2) n 1, n 2 3) n 1, n 2, n 1, n 2 y se queda memoria alocada 4) n 1, n 2 y se queda memoria alocada void  main() { std::list<A> listaObjetos; std::list<A*> listaPunteros; listaObjetos. push_back (A()); listaObjetos. push_back (A()); listaPunteros. push_back ( new  A()); listaPunteros. push_back ( new  A());  }
Desayunos Técnicos Trampas en C++ TR6 – Nivel 1 ,[object Object],[object Object],[object Object],3!
Desayunos Técnicos Trampas en C++ TR7 – Nivel 2 ///// func.h   extern &quot;C&quot; void   setNumber ( int  n); ///// func.c (Compilado en C) extern int  number = 5;  void   setNumber ( int  n)  {number = n;} //// main.cpp (Compilado en C++) #include  &quot;func.h&quot; extern int  number = 1; void   main ()  { printf (&quot;%d&quot;, number); setNumber (6); printf (&quot;%d&quot;, number); number = 2; printf (&quot;%d&quot;, number); } ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desayunos Técnicos Trampas en C++ TR7 – Nivel 2 ,[object Object],[object Object],[object Object],1!
Desayunos Técnicos Trampas en C++ TR8 – Nivel 2 ///// globalvec.h #include  <vector> extern  std::vector< int > globalVector; //// globalvec.cpp #include   &quot;globalvec.h“ std::vector< int > globalVector; ///// main.cpp #include  &quot;globalvec.h“ class  Clase {  public : Clase() {  globalVector. push_back (0); printf (&quot;Constructor Clase&quot;);} }; Clase globalObj; int  main() { printf (&quot;Hello World!&quot;); return  0; } ¿Cuál será la salida del programa? 1) Hello Word! 2) Contructor Clase Hello World! 3) Cascará 4) 50%-50% entre 2 y 3. Depende de tu compilador y de tu suerte.
Desayunos Técnicos Trampas en C++ TR8 – Nivel 2 ,[object Object],[object Object],[object Object],4!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (18)

Programación 1: cadenas en C
Programación 1: cadenas en CProgramación 1: cadenas en C
Programación 1: cadenas en C
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Programación 1: introducción a C
Programación 1: introducción a CProgramación 1: introducción a C
Programación 1: introducción a C
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
PhpLab04
PhpLab04PhpLab04
PhpLab04
 
Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Guía de Ejercicios de Programación Web Básica
Guía de Ejercicios de Programación Web BásicaGuía de Ejercicios de Programación Web Básica
Guía de Ejercicios de Programación Web Básica
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Guía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web BásicaGuía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web Básica
 
Apun c
Apun cApun c
Apun c
 
Tema 4 - Tipos datos avanzados (III)
Tema 4 - Tipos datos avanzados (III)Tema 4 - Tipos datos avanzados (III)
Tema 4 - Tipos datos avanzados (III)
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 
Trabajo Final de Programación
Trabajo Final de ProgramaciónTrabajo Final de Programación
Trabajo Final de Programación
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
C basico
C basicoC basico
C basico
 
Lenguaje de-programación-c
Lenguaje de-programación-cLenguaje de-programación-c
Lenguaje de-programación-c
 

Ähnlich wie Trampas en c ++

Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en Chack3 Org
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacionMarti Matura
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en cDenisse C
 
Ejercicios
EjerciciosEjercicios
Ejerciciosocornejo
 
Programación para robótica
Programación para robóticaProgramación para robótica
Programación para robóticarulascch
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicasCarlos
 
Operaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje COperaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje CDenisse C
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010Jair BG
 
Algoritmospseudocodigo
AlgoritmospseudocodigoAlgoritmospseudocodigo
AlgoritmospseudocodigoDavid Perez
 
Programacionpararobotica3
Programacionpararobotica3Programacionpararobotica3
Programacionpararobotica3rulascch
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionFelix Rivas
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionFelix Rivas
 
Expo_Int
Expo_IntExpo_Int
Expo_IntRogDer
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucionJair BG
 

Ähnlich wie Trampas en c ++ (20)

Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacion
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en c
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Aprende a usar GDB, el depurador de C
Aprende a usar GDB, el depurador de CAprende a usar GDB, el depurador de C
Aprende a usar GDB, el depurador de C
 
Programación para robótica
Programación para robóticaProgramación para robótica
Programación para robótica
 
Introduccion a C++.pdf
Introduccion a C++.pdfIntroduccion a C++.pdf
Introduccion a C++.pdf
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Operaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje COperaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje C
 
Curso c ii
Curso c iiCurso c ii
Curso c ii
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
 
Variables2
Variables2Variables2
Variables2
 
Algoritmospseudocodigo
AlgoritmospseudocodigoAlgoritmospseudocodigo
Algoritmospseudocodigo
 
Programacionpararobotica3
Programacionpararobotica3Programacionpararobotica3
Programacionpararobotica3
 
Programacionpararobotica3
Programacionpararobotica3Programacionpararobotica3
Programacionpararobotica3
 
Primera clase
Primera clasePrimera clase
Primera clase
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Expo_Int
Expo_IntExpo_Int
Expo_Int
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 

Mehr von DTQ4

Gnu linux for safety related systems
Gnu linux for safety related systemsGnu linux for safety related systems
Gnu linux for safety related systemsDTQ4
 
Dtq4_portugués
Dtq4_portuguésDtq4_portugués
Dtq4_portuguésDTQ4
 
Dtq4_ita
Dtq4_itaDtq4_ita
Dtq4_itaDTQ4
 
Dtq4_eus
Dtq4_eusDtq4_eus
Dtq4_eusDTQ4
 
Dtq4_fra
Dtq4_fraDtq4_fra
Dtq4_fraDTQ4
 
Dtq4_esp
Dtq4_espDtq4_esp
Dtq4_espDTQ4
 
Dtq4_eng
Dtq4_engDtq4_eng
Dtq4_engDTQ4
 
Dtq4_deu
Dtq4_deuDtq4_deu
Dtq4_deuDTQ4
 

Mehr von DTQ4 (8)

Gnu linux for safety related systems
Gnu linux for safety related systemsGnu linux for safety related systems
Gnu linux for safety related systems
 
Dtq4_portugués
Dtq4_portuguésDtq4_portugués
Dtq4_portugués
 
Dtq4_ita
Dtq4_itaDtq4_ita
Dtq4_ita
 
Dtq4_eus
Dtq4_eusDtq4_eus
Dtq4_eus
 
Dtq4_fra
Dtq4_fraDtq4_fra
Dtq4_fra
 
Dtq4_esp
Dtq4_espDtq4_esp
Dtq4_esp
 
Dtq4_eng
Dtq4_engDtq4_eng
Dtq4_eng
 
Dtq4_deu
Dtq4_deuDtq4_deu
Dtq4_deu
 

Kürzlich hochgeladen

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Kürzlich hochgeladen (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Trampas en c ++

  • 2.
  • 3.
  • 4. Desayunos Técnicos Trampas en C++ TR1 – Nivel 1 void main() {    char *s = &quot;hola!&quot;;    s[0] = 'm';    printf (&quot;%s&quot;, s); } ¿Cuál será la salida del programa? 1) Error de compilación. 2) hola! 3) Error de ejecución. 4) mola!
  • 5.
  • 6. Desayunos Técnicos Trampas en C++ TR2 – Nivel 1 class A1 { virtual ~A1() { printf (&quot;A1,&quot;); } }; class A2 { ~A2() { printf (&quot;A2,&quot;);} }; class B1 : public A1 { ~B1() { printf (&quot;B1,&quot;);} }; class B2 : public A2 { ~B2() { printf (&quot;B2,&quot;);} }; B1* b1 = new B1(); delete b1; B2* b2 = new B2(); delete b2; A1* ab1 = new B1(); delete ab1; A2* ab2 = new B2(); delete ab2; ¿Cuál será la salida del programa? 1) B1, B2, A1, A2, 2) B1, A1, B2, A2, B1, A1, B2, A2, 3) B1, A1, B2, A2, B1, A1, A2, 4) B1, A1, B2, A2, A1, A2,
  • 7.
  • 8. Desayunos Técnicos Trampas en C++ TR3 – Nivel 1 struct MyStruct { int array[4]; int n1; int n2; }; int main () {  MyStruct str; str.n1 = 10; str.n2 = 20;  str.array[3] = 3; str.array[5] = 5; printf (&quot;%d&quot;,str.n1); printf (&quot;%d&quot;,str.n2); printf (&quot;%d&quot;,str.array[3]); printf (&quot;%d&quot;,str.array[5]); } ¿Cuál será la salida del programa? 1) Error de compilación 2) 10, 5, 3, 5 3) Error en tiempo de ejecución 4) 10, 20, 3, 5 5) 10, 20, 3, Basura (variable sin inicializar)
  • 9.
  • 10. Desayunos Técnicos Trampas en C++ TR4 – Nivel 1 void main () { int *array = getArray (); printf (“%d&quot;,array[0]); algoritmo (); printf (&quot;%d&quot;,array[0]); } int * getArray () { int a[3] = {1, 2, 3}; printf(&quot;%d&quot;, a[0]); return a; } void algoritmo () { int datos[10] = {11,12,13,14,15,16,17,18,19,20}; int n = datos[2] + datos[3] * datos[7]; printf (&quot;blah blah blah &quot;); } ¿Cuál será la salida de este programa? 1) 1, ‘INDEFINIDO’, blah blah blah, ‘INDEFINIDO’ 2) 1, ‘INDEFINIDO’, blah blah blah, 1 3) Error en tiempo de ejecución 4) 1, 1, blah blah blah, 1 5) 1, 1, blah blah blah, ‘INDEFINIDO’
  • 11.
  • 12. Desayunos Técnicos Trampas en C++ TR5 – Nivel 1 ¿Cuál será la salida del programa? 1) 1, 1, 1, 1, 1, 1 2) 0, 0, 0, 0, 0, 0 3) 0, 0, 1, 1, 0, 0 4) 0, 0, 1, 1, 1, 1 struct Point {  int x, y; }; struct Data { Point point; Point *ppoint; int array[2]; }; void main() { Point p = {0,0}; Data d1,d2; d1.point.x = 0; d1.point.y = 0; d1.ppoint = &p; d1.array[0] = 0; d1.array[1] = 0; d2 = d1; d1.point.x = 1; d1.point.y = 1; p.x = 1; p.y = 1; d1.array[0] = 1; d1.array[1] = 1; printf (&quot;%d %d&quot;, d2.point.x, d2.point.y); printf (&quot;%d %d&quot;, d2.ppoint->x,d2.ppoint->y); printf (&quot;%d %d&quot;, d2.array[0],d2.array[1]); }
  • 13.
  • 14. Desayunos Técnicos Trampas en C++ TR6 – Nivel 1 class A { private : static int m_refCount; int m_objNumber; public : A() { m_objNumber = ++m_refCount; } ~A() { printf (&quot;n %d&quot;, m_objNumber); } }; int A::m_refCount = 0; ¿Cuál será la salida del programa? 1) n 1, n 2, n 3, n 4 2) n 1, n 2 3) n 1, n 2, n 1, n 2 y se queda memoria alocada 4) n 1, n 2 y se queda memoria alocada void main() { std::list<A> listaObjetos; std::list<A*> listaPunteros; listaObjetos. push_back (A()); listaObjetos. push_back (A()); listaPunteros. push_back ( new A()); listaPunteros. push_back ( new A()); }
  • 15.
  • 16.
  • 17.
  • 18. Desayunos Técnicos Trampas en C++ TR8 – Nivel 2 ///// globalvec.h #include <vector> extern std::vector< int > globalVector; //// globalvec.cpp #include &quot;globalvec.h“ std::vector< int > globalVector; ///// main.cpp #include &quot;globalvec.h“ class Clase { public : Clase() { globalVector. push_back (0); printf (&quot;Constructor Clase&quot;);} }; Clase globalObj; int main() { printf (&quot;Hello World!&quot;); return 0; } ¿Cuál será la salida del programa? 1) Hello Word! 2) Contructor Clase Hello World! 3) Cascará 4) 50%-50% entre 2 y 3. Depende de tu compilador y de tu suerte.
  • 19.