Pregunta 1 . ¿Cuál es el resultado de lo siguiente, suponiendo que el tamaño de int es de 4 bytes?
#include <iostream> using namespace std; class abc { void f(); void g(); int x; }; main() { cout << sizeof(abc) << endl; }
Opciones:
A) 12
B) 4
C) 8
D) Error de compilación
Answer : B
Explicación:
solo las variables miembro de la clase constituyen el tamaño de la clase o su objeto. Entonces, en este caso, tenemos que anular y un valor int, por lo que el tamaño total de la clase será 0 + 0 + 4. (Considere int de 4 bytes ).
Pregunta 2 . ¿Cuál es la salida de lo siguiente?
#include <iostream> using namespace std; int main() { int a[] = { 1, 2 }, *p = a; cout << p[1]; }
Opciones:
A) 1
B) 2
C) Error de compilación
D) Error de tiempo de ejecución
Answer : B
Explicación:
cuando asignamos la array ‘a’ al puntero ‘p’, contendrá la dirección base de la array. Podemos acceder a la array usando ‘p’ al igual que con ‘a’
Pregunta 3 . ¿Cuál es la salida de lo siguiente?
#include <iostream> using namespace std; int main() { int a[] = { 10, 20, 30 }; cout << *a + 1; }
Opciones:
A) 10
B) 20
C) 11
D) 21
Answer : C
Explicación:
*a se refiere a 10 y sumarle un 1 da 11.
Pregunta 4 . ¿Cuál es la salida de lo siguiente?
#include <iostream> using namespace std; class Box { double width; public: friend void printWidth(Box box); void setWidth(double wid); }; void Box::setWidth(double wid) { width = wid; } void printWidth(Box box) { box.width = box.width * 2; cout << "Width of box : " << box.width << endl; } int main() { Box box; box.setWidth(10.0); printWidth(box); return 0; }
Opciones:
A) 40
B) 5
C) 10
D) 20
Answer : D
Explicación:
estamos usando la función de amigo porque queremos imprimir el valor del ancho del cuadro. Que es una función de miembro privado de una clase y no podemos acceder al miembro privado fuera de la clase.
setWidth(10.0) establece el ancho en 10 y printWidth(box) imprime (ancho * 2), es decir, 20.
Pregunta 5. ¿Cuál es el resultado de lo siguiente?
#include <iostream> using namespace std; struct a { int count; }; struct b { int* value; }; struct c : public a, public b { }; int main() { c* p = new c; p->value = 0; cout << "Inherited"; return 0; }
Opciones:
A) Heredado
B) Error
C) Error de tiempo de ejecución
D) Ninguno de los mencionados
Answer : A
Explicación: clase o estructura ‘c’ que hereda la clase ‘a’ así como la clase ‘b’. Cuando creamos un objeto p de clase c, tanto a como b se heredan automáticamente, lo que significa que podemos acceder a los atributos de clase a y b.
Entonces, p->value se establecerá en 0 como se indica en la pregunta y luego se imprimirá heredado y saldrá del código.
Este artículo es una contribución de Rishabh jain . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA