码迷,mamicode.com
首页 > 其他好文 > 详细

第十、十一周项目一-点-圆-圆柱类族的设计(2)

时间:2016-05-07 09:44:54      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

 /*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All rights reserved
 *文件名称:123.cpp
 *作    者:王蕊
 *完成日期:2016年5月6日
 *版 本 号:v1.0
 *
 *问题描述:以点为基类,派生出一个圆类,增加数据成员r,和求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试。
 *输入描述:无。
 *程序输出:圆的圆心坐标,半径和面积。
*/
#include <iostream>
using namespace std;
class Point
{
public:
    Point(double x=0,double y=0);                    //构造函数Point
    void setPoint(double,double);                  ////设置x和y的坐标值
    double getX( )
    {
        return x;
    }              //x坐标
    double getY( )
    {
        return y;
    }              //y坐标
    void show();
protected:                                       //受保护的成员
    double x,y;
};
void Point::setPoint(double m,double n)  //设置x和y的坐标值
{
    x=m;
    y=n;
}
Point::Point(double m,double n)  //Point的构造函数
{
    x=m;
    y=n;
}
void Point::show()
{
    cout<<"("<<x<<","<<y<<")"<<endl;
}
class Circle:public Point   //Circle是Point类的公用派生类
{
public:
    Circle(double x=0,double y=0,double r=0);  //构造函数Circle
    void setR(double);                  //设置半径的值
    double getR( );               //读取半径的值
    double area ( );                   //计算圆的面积
    void show();
protected:
    double radius;
};
Circle::Circle(double m,double n,double r):Point(m,n),radius(r) { } //定义构造函数


void Circle::setR(double r)  //设置半径的值
{
    radius=r;
}
double Circle::getR( )  //读取半径的值
{
    return radius;
}
double Circle::area( )  //计算圆的面积
{
    return radius*radius*3.14159;
}
void Circle::show()  //输出点和圆的面积
{
    cout<<"Point=("<<x<<", "<<y<<"), r="<<radius<<", area="<<area( )<<endl;
}


int main()
{
    Circle c(1,2,3);
    cout<<"圆的圆心,半径,面积为:"<<endl;
    c.show();
    c.setPoint(2,1);
    c.setR(5);
    cout<<"改变后的圆的圆心,半径,面积为:"<<endl;
    c.show();
    return 0;
}
运行结果:
技术分享

第十、十一周项目一-点-圆-圆柱类族的设计(2)

标签:

原文地址:http://blog.csdn.net/wangrui813/article/details/51330289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!