C++中的类分多种,其中有一般类,基类,虚基类.
一般类继承基类,通常包含了基类数据的一份拷贝. 这种复制方式既浪费空间又需要开发人员去指定哪些基类成员在这个一般类中需要. 虚基类则不同, 所有继承它的基类都只共享一份它的基类成员.
class Queue
{
// Member list
};
class CashierQueue : virtual public Queue
{
// Member list
};
class LunchQueue : virtual public Queue
{
// Member list
};
class LunchCashierQueue : public LunchQueue, public CashierQueue
{
// Member list
};
C++如果有函数是虚函数,则该类是虚类,但C++中的虚类是可以有其它实现代码的,而Java中的接口则没有任何实现代码,而且接口里面的属性默认都是public static, 所有方法都是public的.