请教一个c++对象大小的问题

 class Base{
public:
	Base(){}
	virtual void foo()
	{
		cout << "Base::foo()\n";
	}
	virtual void too()
	{
		cout << "Base::too()\n";
	}
	int st;
};

class Dervied :public Base
{
public:
	Dervied(){}
	virtual void foo()
	{
		cout << "Derived::foo()\n";
	}
	virtual void too()
	{
		cout << "Derived::too()\n";
	}
	int sm;
private:
	int val;
};

int  main()
{
    Base b;Dervied f;
    cout << sizeof(b) << endl;//8
    cout << sizeof(f) << endl;//10
} 

为什么dervied对象的大小是10呢? 是在vs13上运行的
全部评论
vs2015下 输出8,16  
点赞 回复
分享
发布于 2016-09-27 16:40
本地运行结果为8 16
点赞 回复
分享
发布于 2016-09-27 16:41
联易融
校招火热招聘中
官网直投
因为答案是错的
点赞 回复
分享
发布于 2016-09-27 16:41

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务