第十一周项目一点圆圆柱类族的设计2

/* 
 *Copyright(c)2016,烟台大学计算机与控制工程学院 
 *All right reserved. 
 *文件名称:dfg.cpp 
 *作    者:闫舒 
 *完成日期:2016年6月13日 
 *版 本 号:vc++6.0 
 * 
 *问题描述:按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: 
(1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; 
(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; 
 *输入描述: 略
 *程序输出:略
 */  
#include <iostream>  
using namespace std;  
class Point  
{  
public:  
    Point(double x=0,double y=0);//Point 类构造函数  
    void putPoint(double,double);//改变坐标  
    double getX( )  {return x;}  
    double getY( )  {return y;}  
    void show();  
protected:  
    double x,y;  
};  
Point::Point(double a,double b)//实现构造函数  
{  
    x=a;  
    y=b;  
}  
void Point::putPoint(double a,double b)  
{  
    x=a;  
    y=b;  
}  
void Point::show()  
{  
    cout<<"("<<x<<","<<y<<")"<<endl;  
}  
class Circle:public Point //定义Point的派生类Circle  
{  
public:  
    Circle(double x=0,double y=0,double r=0);//Circle类构造函数  
    void setRadius(double);  
    double getRadius();  
    double area();  
    void show();  
protected:  
    double radius;  
};  
Circle::Circle(double a,double b,double r):Point(a,b),radius(r){}//派生类Circle的构造函数的实现  
void Circle::setRadius(double r)  
{  
    radius=r;  
}  
double Circle::getRadius()  
{  
    return radius;  
}  
double Circle::area()  
{  
    return 3.14*radius*radius;  
}  
void Circle::show()  
{  
    cout<<"Center=("<<x<<", "<<y<<"), r="<<radius<<", area="<<area( )<<endl;  
}  
int main()  
{  
    Circle c(3.1,4.1,5.1);  
    cout<<"原圆形为:"<<endl;  
    c.show();  
    c.putPoint(1,1);  
    cout<<"现圆形为:"<<endl;  
    c.show();  
    return 0;  
}

运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值