C++ 接口(抽象类)
来源:互联网 发布:js点击按钮旋转图片 编辑:程序博客网 时间:2024/06/06 15:08
C++ 接口(抽象类)
设计抽象类(通常称为 ABC)的目的,是为了给其他类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,它只能作为接口使用。如果试图实例化一个抽象类的对象,会导致编译错误。
因此,如果一个 ABC 的子类需要被实例化,则必须实现每个虚函数,这也意味着 C++ 支持使用 ABC 声明接口。如果没有在派生类中重载纯虚函数,就尝试实例化该类的对象,会导致编译错误。
可用于实例化对象的类被称为具体类。
如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的
具体代码:
#include <iostream>using namespace std;class ComputeSum {public://提供接口框架的纯虚函数 virtual int getArea()=0;void setWidth(int n){width=n;} void setLength(int m){length =m;} protected:int width;int length;};class GetAddition: public ComputeSum{public:int getArea(){return (width+length);}};class GetProduct: public ComputeSum{public:int getArea(){return width*length;}};int main( ){ GetAddition sum1;GetProduct sum2; sum1.setWidth(23);sum1.setLength(28); sum2.setWidth(45); sum2.setLength(66); cout<<"Product:"<<sum1.getArea()<<endl; cout<<"Addition:"<<sum2.getArea()<<endl;return 0;}输出结果:
Product:51Addition:2970请按任意键继续. . .
阅读全文
0 0
- 【C++】接口(抽象类)
- C#(一)-抽象类与接口
- C#----接口与抽象类
- C#---抽象类与接口
- 【C#】抽象类和接口
- 抽象类和接口的区别(C#)
- 抽象类和接口的区别(C#)
- 抽象类和接口(C#)的区别
- c#接口与抽象类的区别
- c#接口与抽象类的区别
- c#接口与抽象类的区别
- C#——接口和抽象类
- c#接口与抽象类的区别
- c#接口与抽象类的区别
- c#接口与抽象类的区别
- C#——抽象类和接口
- C#—接口 PK 抽象类
- 【C#】——抽象类VS接口
- 【转载】Jdk jre jvm的区别和联系
- Akka(35): Http:Server side streaming
- Java标识符
- js 数组与对象
- 微信java开发3——获取access_token
- C++ 接口(抽象类)
- 面试心得与总结:BAT、网易、蘑菇街
- dpdk-ixgbe 详解
- redis内部数据结构
- 【Java作业】2017.10.28 / 10.29
- Cells(Rows.Count, 1).End(xlUp).Row的含义
- 线程基础知识
- springboot学习笔记 -- Hello Word、返回json数据、fastJson、热部署
- 蝶式算法扩展-----16位按位转换