一、 纯虚函数
抽象类
只要有一个纯虚函数,这个类称为抽象类
抽象类的特点
1、无法实例化
2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类
例子一
#include <iostream>
#include <string.h>
using namespace std;
class Base
{//纯虚函数//只要有一个纯虚函数,这个类称为抽象类//抽象类的特点//1、无法实例化//2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类virtual void func() = 0;//储蓄函数/*virtual void func() //普通的虚函数{}*/};
class Son : public Base
{
public:};
void func()
{//Base b;//err 抽象类无法实例化对象//new Base;//err 抽象类无法实例化对象//Son s;//err 子类必须重写父类中的存续函数,否则无法实例化
}
void main()
{}
例子二
#include <iostream>
#include <string.h>
using namespace std;
class Base
{//纯虚函数//只要有一个纯虚函数,这个类称为抽象类//抽象类的特点//1、无法实例化//2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类
public:virtual void func() = 0;//储蓄函数/*virtual void func() //普通的虚函数{}*/};
class Son : public Base
{
public:virtual void func(){cout << "Son func被调用" << endl;}};
void func()
{//Base b;//err 抽象类无法实例化对象//new Base;//err 抽象类无法实例化对象//Son s;//err 子类必须重写父类中的存续函数,否则无法实例化Base* b = new Son;b->func();
}
void main()
{func();}