小鹰展翅_虚函数
2015-06-06 11:54
344 查看
#include<iostream> using namespace std; class Shape{/*有纯虚函数的类叫做抽象类,它指定公共接口,功能由派生类来实现*/ public: virtual void shapeName()const = 0;/*是否所有派生类都对此纯虚函数进行了重写,否则会怎么样?*/ };
point.h:
#include"shape.h" class Point :public Shape{ public: virtual void shapeName()const { cout << "point:"; } };
circle.h:
#include"point.h" class Circle :public Point{ public: virtual void shapeName()const{ cout << "circle:"; } };
cylinder.h:
#include"circle.h" class Cylinder :public Circle{ public: virtual void shapeName()const { cout << "cylinder:"; } };
run.cpp:
#include"cylinder.h" void showName(const Shap&s){/*shapName是一个公共接口,所以能够输出各个派生类的name*/ cout<<"name\t"; s.shapeName(); cout<<endl; } int main(){ Point point; Circle circle; Cylinder cylinder; show(point); show(circle); show(cylinder); return 0; }
相关文章推荐
- 如何提升你的能力?给年轻程序员的几条建议
- KVO的坑
- Android开发的IDE、ADT、SDK、JDK、NDK等名词解释
- docker 自制镜像
- 代码片_笔记
- Java 理论与实践: 正确使用 Volatile 变量
- HDU1011
- CSDN-markdown编辑器使用说明
- Python ConfigParser模块教程
- ArcGIS操作——object name is not a regular identifier for underlaying DBMS[ArcGIS企业级数据导入错误]
- Redis/SSDB+Twemproxy的配置与使用(Mac/Linux平台)
- AngularJs轻松搞定表单验证
- 有感于滥用多线程之遍历文件目录信息
- java ClassLoader static
- Missing 64-bit support
- 轻松学习之一--Objective-C消息转发
- jdbc连接数据库
- python处理blog文件数据
- Opentstack 安装中遇到的错误锦集
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合