- 打造c++抽象类
与其他语言的抽象类相似,抽象类不能实例化,也不能作为函数的参数,只可以作为指针类型或者引用类型
- 抽象类的基本特征
#pragma once
#include<iostream>
using namespace std;
class jetplane
{
private:
protected:
public:
virtual void loadweapon(string type,int num)=0;//最显著特征,成员函数声明为virtual,并且等于0
virtual void warfare()=0;
};
当然抽象类不能实例化
#include<iostream>
#include"jetplane.h"
void main()
{
jetplane tornado();
}
报错:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2259 “jetplane”: 不能实例化抽象类 myabstractcls c:\users\administrator\source\repos\myabstractcls\myabstractcls\mymain.cpp 5
2.解决多重继承的二义性问题
目前,要求多重继承的类有共同的基类,否则多重继承的二义性仍旧无法解决
实例化的类可以作为抽象类的接口使用
jetplane *p =&mig31 p->warfare()
来源:https://www.cnblogs.com/saintdingspage/p/12032951.html