面向对象中的抽象类
1.可用于表示显示世界中的抽象概念
2.是一种只能定义类型,而不能产生对象的类
3.只能被继承并重写相关函数
4.直接特征就是相关函数没有完整实现
5.抽象类不能创建对象,只能用于继承
6.C++中没有抽象类的概念
7.C++中通过纯虚函数实现抽象类
8.纯虚函数时指只定义原型的成员函数
9.一个C++类中存在存虚函数就成为了抽象类
class Shape
{public:
virtual double area()=0;--------->“=0”用于表示当前是声明纯虚函数,因此不需要定义函数体
};
class Circle:public Shape
{
int mr;
public :
Circle(int r)
{
mr=r;
}
double area(){
return 3.14*mr*mr;
}
}
void area(Shape* p)
{
double r=p->area();
cout<<"r = "<<r<<endl;
}//---------->这里会发生多态的现象-----》通过抽象类的指正来调用纯虚函数
注意:
1.抽象类只能用作父类继承
2.子类必须实现纯虚函数的具体功能
3.纯虚函数被实现后成为虚函数
4.如果子类没有实现纯虚函数,则子类成为抽象类,不能创建对象
接口:(直接的说---接口是一组行为的规范,是一种函数原型)
1.类中没有定义任何的成员变量
2.所有的成员函数都是共有的
3。所有的成员函数都是纯虚函数
4.接口是一种特殊的抽象类