一、 纯虚函数
抽象类
只要有一个纯虚函数,这个类称为抽象类
抽象类的特点
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();
}