#include <iostream>
using namespace std;
class Empty
{};
class Derived : virtual public Empty
{
    char c;
};
int main()
{
    cout << "sizeof(Empty) " << sizeof(Empty) << endl;
    cout << "sizeof(Derived) " << sizeof(Derived) << endl;
    return 0;
}
Why size is coming 8 I think it should be 9, If I declare 'c' as integer then also its coming 8 Cany you please explain me the logic
 
     
    