继承与派生2
来源:互联网 发布:ipad下不了软件 编辑:程序博客网 时间:2024/05/15 23:53
编写程序,声明一个基类Shape,再派生出Rectangle类和Circle,二者都有GetArea()函数,计算对象的面积。使用程序Rectangle类创建一个派生类Square。
#include<iostream>using namespace std;class Shape//图形类{public:virtual ~Shape(){}//析构函数virtual double GetArea()=0;//纯虚函数virtual void print()=0;//纯虚函数};class Rectangle:virtual public Shape//矩形类,公有继承图形类{public:Rectangle();//构造函数Rectangle(double w,double h);//构造函数~Rectangle(){}//析构函数double GetArea();//面积函数virtual void print();protected:double width,height;//宽,高};Rectangle::Rectangle(){width=0;height=0;}Rectangle::Rectangle(double w,double h){width=w;height=h;}double Rectangle::GetArea(){return(width*height);}void Rectangle::print(){cout<<"The Rectangle's area is:";}class Circle:public Shape//圆类,公有继承图形类{public:Circle();//构造函数Circle(double r);//构造函数~Circle(){}//析构函数double GetArea();//面积函数void print();protected:double radius;};Circle::Circle(){radius=0;}Circle::Circle(double r){radius=r;}double Circle::GetArea(){return (3.14*radius*radius);}void Circle::print(){cout<<"The Circle's area is:";}class Square:public Rectangle//正方形类,公有继承矩形类{public:Square(double w=0.0);//构造函数~Square(){}//析构函数double GetArea();//面积函数void print();};Square::Square(double w):Rectangle(w,w){}double Square::GetArea(){return Rectangle::GetArea();}void Square::print(){cout<<"The Square's area is:";}int main(){Shape *sh[3];sh[0]=new Rectangle;sh[1]=new Circle;sh[2]=new Square;Rectangle *re[2];re[0]=new Rectangle;re[1]=new Square;int i;for(i=0;i<3;i++){sh[i]->print();cout<<sh[i]->GetArea();cout<<endl;delete sh[i];}for(i=0;i<2;i++){re[i]->print();cout<<re[i]->GetArea();cout<<endl;delete re[i];}sh[0]=new Rectangle(3.8,7.5);sh[1]=new Circle(5);sh[2]=new Square(10);re[0]=new Rectangle(5,7);re[1]=new Square(4.5);for(i=0;i<3;i++){sh[i]->print();cout<<sh[i]->GetArea();cout<<endl;delete sh[i];}for(i=0;i<2;i++){re[i]->print();cout<<re[i]->GetArea();cout<<endl;delete re[i];}return 0;}
0 0
- 继承与派生2
- 继承与派生2
- 继承与派生2
- 继承与派生2:派生类的定义
- 继承与派生类 学习笔记2
- C++之继承与派生(2)
- C++之继承与派生(2)
- Lesson 18 继承与派生(2)
- C++之继承与派生(2)
- C++之继承与派生(2)
- 派生类与继承
- C++继承与派生
- C++ [ 继承与派生 ]
- 继承与派生
- 继承与派生
- 继承与派生
- 继承与派生
- C++ 继承与派生
- POJ 2126 / ZOJ 2431 : Factoring a Polynomial - 易(判断多项式是否能够分解)
- C++实现快速排序QuickSort
- HBase的java操作
- MFC学习笔记——关于图片加载
- C#设计模式总结
- 继承与派生2
- 日拱一卒(三)
- 百度地图开发(五)之公交信息检索 + 路线规划
- unity 基本函数整理[4_Unity脚本 + 5_游戏元素的设计]
- C/C++预编译指令
- 超全面的.NET GDI+图形图像编程教程
- swift代理传值
- 多态性1
- 预言~~~~