#include <iostream>
#include <iomanip>

using namespace std;

struct Widget
{
    int widget;
};

struct Button
    : public Widget
{
    int button;
};

int main()
{
    cout << "sizeof(int): " << sizeof(int) << endl;
    cout << "sizeof(Button): " << sizeof(Button) << endl;
    Button* b = new Button;
    b->widget = 1;
    b->button = 2;
    int* data = reinterpret_cast<int*>(b);
    for(int i=0; i<sizeof(Button)/sizeof(int); i++)
    {
        cout << "0x" << hex << setfill('0') << setw(2*sizeof(int)) << data[i] << endl;
    }
}