SlideShare uma empresa Scribd logo
1 de 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!

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (16)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

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.