c++学习笔记--多态
来源:互联网 发布:医疗大数据盈利模式 编辑:程序博客网 时间:2024/06/07 20:31
这里用一个shape类 Rectangle类 Cirle类进行说明
#include<iostream>using namespace std;class Shape{public:Shape(){};virtual ~Shape(){};//虚析构函数 在动态申请空间时候 防止没析构派生类virtual double Area();//虚函数有藏的效果virtual double Zhouchang();private:double area;};double Shape::Area(){return 0.0;}double Shape::Zhouchang(){return 0.0;}class Rectangle:public Shape{public:Rectangle(double a,double b):chang(a),kuang(b){}virtual ~Rectangle(){};virtual double Area();//事实上 virtual 在子类可以不写 但是养成显式说明的习惯virtual double Zhouchang();private:double chang;double kuang;};double Rectangle::Area(){return chang*kuang; }double Rectangle::Zhouchang(){return 2*(chang+kuang);}class Cirle:public Shape{public:Cirle(double a):riadus(a){}virtual ~Cirle(){}virtual double Area();virtual double Zhouchang();private:double riadus;};double Cirle::Area(){return 3.14*riadus*riadus;}double Cirle::Zhouchang(){return 2*3.14*riadus;}int main(){Shape *a = new Rectangle(1,2);cout<<"Rectangle的面积和周长分别为:"<<endl;cout<<a->Area()<<endl;cout<<a->Zhouchang()<<endl;delete a;//虚析构函数 在动态申请空间时候 防止没析构派生类Shape *b= new Cirle(1);cout<<"Cirle的面积和周长分别为:"<<endl;cout<<b->Area()<<endl;cout<<b->Zhouchang()<<endl;delete b;return 0;}
0 0
- 学习笔记(objective-c)-多态
- C++/C学习笔记
- 【C/C++】STL学习笔记
- C/C学习笔记/导言
- C/C学习笔记/结构
- 【c/c++】学习笔记1
- C学习笔记1
- TPC-C学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- 学习笔记之c
- C#-学习笔记
- Objective-C学习笔记
- C++PRIMER学习笔记
- C学习笔记
- C 学习笔记
- C/C++学习笔记
- (转)Android ListView多种布局 getViewTypeCount和getItemViewType
- JQ判断滚动条是否到达顶部或者底部
- vue过滤器
- 关系数据理论
- 每天一个Linux命令(39):kill
- c++学习笔记--多态
- SQLSERVER清理日志
- 友盟统计新手帮助文档
- MonkeyImage基本API
- UVA 1025 A Spy in the Metro DP
- wabacus 开发指南
- 小白从头开始编写第一个Django的Hello World(Mac)
- redis lazyfree空间懒释放的源码分析
- Linux第十三单元练习题