Salida de programas C++ | Conjunto 36

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *