I don't understand how the size of class graduate is 16 bytes.

#include < iostream >

using namespace::std;

#include < stdio.h >

class subject

{

public:
	int num;
	float max_marks;
	subject(int a,float b)
	{
    	 num=a;
		 max_marks=b;
	}

};

class student

{

public:

            int rollno;
	subject sub;
	student(int r,int a,float b) : sub(a,b)
	{
		rollno=r;
	}

};

class graduate : public student

{

char div;
public:
graduate(char d,int r,int a,float f) : student(r,a,f)
{
	div=d;
}

};

int main()

{

 printf("%d",sizeof(subject));

 printf("%d",sizeof(student));

 printf("%d",sizeof( graduate));

return 0 ;

}