博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++学习总结:抽象类
阅读量:6736 次
发布时间:2019-06-25

本文共 786 字,大约阅读时间需要 2 分钟。

hot3.png

iOS程序员都熟悉协议的使用,说到底就是一个类委托另一个类帮忙做一下自己不能做或者不应该做的事情。在c++中也有类似的功能,但是也不完全相同,我参考中的解释,翻译在此。

c++中没有内置的interface接口概念,可以使用只包含虚函数的抽象类来实现。因为c++支持多重继承,你可以创建一个子类继承该类,然后在子类中实现虚函数。如下代码所示,

//定义一个抽象类Interfaceclass Interface{public:    Interface(){}//默认构造函数    virtual ~Interface(){}//析构函数    virtual void method1() = 0;//虚函数1    virtual void method2() = 0;//虚函数2};//继承自抽象类的子类Concrete//Concrete.h文件class Concrete:public Interface{private:    int myMember;public:    Concrete(){}    ~Concrete(){}    void method1();//抽象类中的虚函数    void method2();};//Concrete.cpp文件//...省略不相干代码void Concrete::method1(){    //虚函数1}void Concrete::method2(){    //虚函数2}

抽象类是必须包含至少一个虚函数的类,你不可以创建抽象类的对象,但是可以差ungjianyige指向它的指针。同样每一个继承自抽象类的子类必须实现抽象类中的虚函数,例如上例中的method1和method2必须在子类中实现。

转载于:https://my.oschina.net/leejan97/blog/266627

你可能感兴趣的文章
Http协议和IO模型
查看>>
【数据结构】将一组数据升序排序(利用堆排序)
查看>>
linux中用户,组管理
查看>>
用什么开发软件
查看>>
makefile(07)_路径搜索
查看>>
数据结构(06)_栈
查看>>
openstack
查看>>
聊聊flink JobManager的High Availability
查看>>
聊聊Elasticsearch的SingleObjectCache
查看>>
运维CMDB系统
查看>>
面向对象基本概念
查看>>
计算机网络(一)——互联网层
查看>>
hive关联查询连接hbase的外部表时,内存溢出问题
查看>>
顺序结构的程序设计-考点
查看>>
Web前端面试指导(十四):如何居中一个元素(正常、绝对定位、浮动元素)?
查看>>
php基础
查看>>
磁盘提示使用驱动器中的光盘之前需要格式化资料怎样找回
查看>>
C++后台开发岗)
查看>>
关于php的CURL的使用
查看>>
springboot2.0系列(三):热部署devtools
查看>>