请教一个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上运行的
全部评论
因为答案是错的
点赞 回复 分享
发布于 2016-09-27 16:41
本地运行结果为8 16
点赞 回复 分享
发布于 2016-09-27 16:41
vs2015下 输出8,16  
点赞 回复 分享
发布于 2016-09-27 16:40

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务