C++ | Clase y Objeto | Pregunta 5

Suponga que un número entero y un puntero ocupan 4 bytes cada uno. Además, suponga que no hay alineación en los objetos.

Prediga la salida siguiente del programa.

#include<iostream>
using namespace std;
  
class Test
{
    static int x;
    int *ptr;
    int y;
};
  
int main()
{
    Test t;
    cout << sizeof(t) << " ";
    cout << sizeof(Test *);
}

(A) 12 4
(B) 12 12
(C) 8 4
(D) 8 8

Respuesta: (C)
Explicación: para un compilador donde los punteros toman 4 bytes, la instrucción “sizeof(Test *)” devuelve 4 (tamaño de el puntero ptr).

La instrucción “sizeof(t)” devuelve 8. Dado que static no está asociado con cada objeto de la clase, obtenemos (8 no 12).
Cuestionario de esta pregunta

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 *