当不同的类具有相同的间接基类时()?
在派生列表中,同一基类只能出现一次,但实际上派生类可以多次继承同一个类。派生类可以通过两个直接基类分别继承自同一间接基类,也可以直接继承某个基类,再通过另一个基类再次继承该类。但是,如果某个类派生过程中出现多次,则派生类中将包含该类的多个子对象,这种默认情况在很多有特殊要求的类中是行不通的。虚继承就是为了应对这一情况而产生,虚继承的目的是令某个类做出声明,承诺愿意共享其基类。这样不论虚基类在继承体系中出现多少次,派生类中都只包含唯一一个共享的虚基类子对象。
两种方法: 为了建立唯一的间接基类版本,应该声明基类为虚基类 为了建立唯一的间接基类版本,应该声明派生类虚继承基类