P225 4

来源:互联网 发布:硅藻泥脚垫 知乎 编辑:程序博客网 时间:2024/06/03 23:02
<img src="http://img.blog.csdn.net/20150610192654460?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWXVTb25nNDg2OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />#include <iostream> using namespace std; //定义抽象基类Shape class Shape {public:  virtual double area() const =0;//纯虚函数};//定义Circle类class Circle:public Shape {public:  Circle(double r):radius(r){}//结构函数virtual double area() const {return 3.14159*radius*radius;}; //定义虚函数protected:  double radius; //半径};//定义Rectangle类class Rectangle:public Shape {public:  Rectangle(double w,double h):width(w),height(h){} //结构函数virtual double area() const {return width*height;}//定义虚函数protected:  double width,height;//宽与高}; class Triangle:public Shape {public:  Triangle(double w,double h):width(w),height(h){}//结构函数virtual double area() const {return 0.5*width*height;} //定义虚函数protected:  double width,height;//宽与高};//输出面积的函数void printArea(const Shape &s)  {cout<<s.area()<<endl;} //输出s的面积int main() {  Circle circle(12.6);//建立Circle类对象circle  cout<<"area of circle ="; printArea(circle);//输出circle的面积Rectangle rectangle(4.5,8.4);//建立Rectangle类对象rectangle  cout<<"area of rectangle ="; printArea(rectangle);//输出rectangle的面积   Triangle triangle(4.5,8.4); //建立Triangle类对象cout<<"area of triangle =";  printArea(triangle);//输出triangle的面积return 0; }  

0 0
原创粉丝点击