- 打造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