基于http://en.wikipedia.org/wiki/Virtual_inheritance
class Animal
{
...
};
// Two classes virtually inheriting Animal:
class Mammal : public virtual Animal
{
...
};我还看到一些书使用下面的语法,
class Mammal : virtual public Animal
{
...
};C++标准中的哪一种是Question>?
谢谢
发布于 2011-03-29 10:28:53
来自ISO/IEC2003(E)- 10.1
可以在类定义中使用表示法指定基类的列表:
base-clause:
: base-specifier-list
base-specifier-list:
base-specifier
base-specifier-list , base-specifier
base-specifier:
::opt nested-name-specifieropt class-name
virtual access-specifier opt ::opt nested-name-specifieropt class-name
access-specifier virtual opt ::opt nested-name-specifieropt class-name
access-specifier:
private
protected
public请注意,这两种方法都是推荐的。
发布于 2011-03-29 16:19:20
这两个都是标准的。使用本地编码约定所需的任何一种。
https://stackoverflow.com/questions/5467177
复制相似问题