抽象类和接口
什么是抽象类
用来表示现实世界中的抽象概念
是一种只能定义类型,而不能产生对象的类
只能被子类继承,且抽象类的相关成员函数没有完整的体现,用来被子类重写....答:
在C++中,通过纯虚函数来避免
纯虚函数只需要声明函数名,不用实现函数内容.通过子类去实现
当类中有纯虚函数时,该类就无法创建对象,因为纯虚函数里没有具体内容,所以这个类便成为了抽象类....如果子类没有实现存虚函数,则子类也会成为抽象类
纯虚函数
纯虚函数需要在声明函数名前面加上virtual,在最后面加个=0;
比如:
class Shape
{
public:
virtual...area()=0; //不需要实现函数内容
};
接口
当类满足下面条件,则称为接口
类中没有定义任何成员变量
所有的成员函数都是公有的,并且都是纯虚函数
接口是一种特殊的抽象类...多重继承的问题2
多重继承可能产生冗余的成员
比如:
老师teacher类,学生student类都继承于people类
而有些老师,为了工作还要考博士学位,既是老师又是学生,所以同时继承于老师teacher