C++中有关用sizeof()求类大小

问题

  • 当一个类是空的,及既无构造函数又无析构函数,用sizeof()求其大小?
  • 若类中只有构造函数和析构函数,此时用sizeof()求其大小?
  • 若类中定义了虚析构函数,此时用sizeof()求其大小是多少?
class base
{};

class base1
{
public:
	base1(){};
	~base1(){};
}

clss base2
{
public:
	base2(){};
	~base2(){};
	virtual void  func() {};
}

base tt;
cout << sizeof(tt) << endl; //值为1

base1 aa;
cout << sizeof(aa) << endl; //值为1

base2 bb;
cout << sizeof(bb) << endl;//值为4,类定义中有虚函数,定义虚函数的类中会存放一个虚函数指针,因而此处占用4个字节;

你可能感兴趣的:(C++)