第十一周上机实践-点圆圆柱族类设计(补)

来源:互联网 发布:数值策划 知乎 编辑:程序博客网 时间:2024/05/21 17:08
/* * Copyright  (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作    者:胡庆龙 * 完成日期:2016年6月20日 * 版 本 号:v1.0  * 问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; */#include <iostream>#include <cmath>using namespace std;class Point{protected:    double x,y;public:    Point(double m=0,double n=0):x(m),y(n){};    void showPoint();    double getx(){return x;}    double gety(){return y;}};void Point::showPoint(){    cout<<"x="<<x<<"  y="<<y<<endl;}class Circle:protected Point{public:    Circle(double m,double n):Point(m,n){};    void handle(Point &p);    void show()    {        cout<<"圆的半径:"<<r<<endl;        cout<<"圆的面积:"<<area<<endl;    }private:    double area;    double pi=3.1415926;    double r;};void Circle::handle(Point &p){    r=sqrt((x-p.getx())*(x-p.getx())+(y-p.gety())*(y-p.gety()));    area=pi*r*r;}int main(){    Point a(1,2);    a.showPoint();    Circle c(1,1);    c.handle(a);    c.show();    return 0;}

0 0