博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 纯虚方法
阅读量:6985 次
发布时间:2019-06-27

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

1、纯虚方法解决什么样的问题,为什么要设计出纯虚方法?

考虑下面的需求,基类声明了一个方法,这个方法只针对具体的子类才有意义,比如Animal的Eat()方法,调用Animal的Eat方法是没有意义的。比如Dog吃肉,Cat吃鱼,而Animal吃什么呢,没有意义。
2、既然Animal调用Eat没有意义,如何禁止Animal调用Eat方法呢?
不允许实例化出来Animal对象,Animal调用没有意义,要求子类必须重写。
3、virtual void Eat()=0; 使Animal成为抽象类,不能实例化Animal,同时要求子类必须重写。
4、需要注意的是,纯虚方法是可以提供实现的,子类也可以调用父类的纯虚方法。
5、在Java中,可以使用abstract指明一个类是抽象类。但是在C++中,要让一个类成为抽象类,需要声明一个或者多个纯虚方法。
6、继承的时候,父类不需要加class,如下:class Dog : public Animal

转载地址:http://htjpl.baihongyu.com/

你可能感兴趣的文章
Ubuntu14.04搭建LAMP
查看>>
思科4506E交换机系统升级那点事!
查看>>
linux-mysql
查看>>
如何在Exchange Server 2003中重置提供OWA、EAS和OMA服务所需的默认虚拟目录
查看>>
GIT分布式版本控制系统使用教程
查看>>
1、Nginx安装和配置文件
查看>>
Centos网络管理(二)-IP与子网掩码计算
查看>>
网媒亟待建立广告价值衡量体系
查看>>
mysql-5.7.16一键安装/配置优化
查看>>
SSL握手中的个别细节
查看>>
从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点(附一个skb的优化点)
查看>>
SpringBoot 获取当前登录用户IP
查看>>
sed用法
查看>>
Windows Phone 应用发布技巧汇总
查看>>
centos6.0下安装FTP客户端命令
查看>>
【No.7 C++对象的构造与析构时间】
查看>>
Zabbix如何监控Windows机器
查看>>
SAN存储方式之falconstor实施方案(2)
查看>>
Bokeh快速入门(1)
查看>>
第一天salt stack 笔记
查看>>