include<iostream>
using namespace std;
class container //定义抽象类container
{public:
container(........)//构造函数
virtual 类名(){}; //虚函数
virtual 类名(){}; //虚函数
virtual void 类名() const =0; //纯虚函数
private:
.......
};
class 类名:public container //公用派生类类名
{public:
vitual 类名{....} //对虚函数再定义
#include<iostream>
using namespace std;
class container{
protected:
double radius;
public:
container(double r){
radius = r;
}
container(){
radius = 0;
}
virtual double area()=0;//求表面积
virtual double volume()=0;//求体积
};
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。
那么在继承中要构成多态还需要两个条件:
1、调用函数的对象必须是指针或者引用。
2、被调用的函数必须是虚函数,且完成了虚函数的重写。
虚函数:在类的成员函数前加virtual关键字。
虚函数的重写:派生类中有一个跟基类的完全相同的虚函数,就称子类的虚函数重写了基类的虚函数。“完全相同”是指:函数名、参数、返回值都相同。另外,虚函数的重写也叫做虚函数的覆盖。