什么是纯虚函数 就这样来说相当于Java中的抽象类 不能被实例化 只能在子类中去实现
换言之 java中的接口 implements
简言之 父类声明 子类去定义
需要注意的是拥有纯虚函数的类 一定不要实例化 希望大家一定切记
另外子类中继承有纯虚函数的类一定要重写纯虚函数
一个类只要有纯虚函数,无论他的成员属性 这个类就一定是抽象类
接下来看代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
/*
什么是纯虚函数 就这样来说相当于Java中的抽象类 不能被实例化 只能在子类中去实现
换言之 java中的接口 implements
纯虚函数在父类中没有定义
*/
class parent
{
public:
virtual void fun() = 0;// 语法规定 纯虚函数 在子类中去实现 父类中声明
};
class son :public parent
{
public:
virtual void fun()//virtual 可加也可以不加
{
cout << "子类中的调用" << endl;
}
};
int main()
{
parent s1;/*
报错的原因 是这样的 如果一个类中有纯虚函数那么这个类就是抽象类 抽象类不能被实例化
*/
parent* s1 = new son();//父类指向子类对象
s1->fun();
}