9

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++ 標準の 1 つはどれですか?

ありがとうございました

4

2 に答える 2

16

ISO/IEC 14882:2003(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-29T02:28:52.910 に答える
4

どちらも標準です。ローカルのコーディング規則で必要なものを使用してください。

于 2011-03-29T08:19:20.130 に答える