C++问题:class manager:virtual public employee 这里这个virtual是什么意思,

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 16:18:25
C++问题:classmanager:virtualpublicemployee这里这个virtual是什么意思,C++问题:classmanager:virtualpublicemployee这里这

C++问题:class manager:virtual public employee 这里这个virtual是什么意思,
C++问题:class manager:virtual public employee
这里这个virtual是什么意思,

C++问题:class manager:virtual public employee 这里这个virtual是什么意思,
意思是使得employee类成为manager的虚基类.
这种技术一般用在多重继承中,虚基类使得从多个类(它们的基类相同)派生出的对象只继承一个基类对象.
假如这样:
class worker{};
class singer:virtual public worker{};
class waiter:virtual public worker{};
class singerwaiter:public singer,public waiter{};
最后的singerwaiter只会有一份worker数据的拷贝,
如果
class singer:virtual public worker{};
class waiter:virtual public worker{};
改成这样
class singer:public worker{};
class waiter:public worker{};
singerwaiter就会有两份worker的拷贝(分别从singer和waiter处获得)