这个问题很可能是“C++标准说的是什么”的东西,但是我的Google搜索并没有给出我正在寻找的答案。没有成员函数的结构的继承
我知道,当你有类,并且你有一个类继承自另一个类时,你将进入虚拟函数表的世界,因为代码需要找出哪个类包含你试图调用的函数。
但是,只包含数据的结构之间的继承又如何呢?例如,如果你有一个小部件结构,然后你想要一个具有一些额外变量的结构的专用版本,但你仍然希望能够将它的原始数据传递给处理小部件的函数,那么将会更简单从原始小部件结构继承,而不是让您的代码处理两种类型的小部件结构。当只有数据涉及继承时,是否有任何开销?专用小部件仍然是一个简单的结构(在内存布局方面),这两个数据都是组合的,还是独立于新数据存储的原始小部件数据?最终,我想保持我的数据简单且连续,因为基本结构是,而且我不知道继承数据是否会破坏数据。
非常真实。我提到它是使用继承在幕后进行的一个例子。我不知道数据成员是否会在幕后做类似的事情。 – Nairou 2012-03-18 20:20:55
@Nairou:不,没有,因为数据成员不是多态的。 – 2012-03-18 20:29:29