sizeof的输出单位是字节,即B,1B=8b(位),测试工具为VS2013旗舰版。
我们再来看看类和结构体。
(1)空类(空结构体)
即使类中有构造函数和析构函数,还是1B,但是,当把析构函数改成虚函数:
再增加一个(多个)虚函数:
依然是4。这是因为,当有虚函数时,这个类会添加一个指针,该指针指向虚函数表,所以,不管增加多少个虚函数,类中还是只有一个指向虚函数表的指针。
(2)类中添加其他变量
计算过程:指向虚函数的指针大小(4)+int大小(4)+string大小(28)=36
(3)子类有虚函数