第10周项目1-点-圆-圆柱类的设计(2)

/*
*Copyright(C) 2016,计算机与控制工程学院
*All rights reserved.
*文件名:test.cpp
*作者:张志新
*完成日期:2016年5月1日
*版本号:v1.0
*
*问题描述:Point类h和Circle类。
*/

#include<iostream>
using namespace std;
class Point
{
protected:
    double x;//横坐标
    double y;//纵坐标
public:
    Point(double x=0,double y=0);
    Point();
    double getX() const
    {
        return x;
    }
    double getY() const
    {
        return y;
    }
    void setPoint(double a,double b);
    void display();
};
void Point::setPoint(double a,double b)
{
    x=a;
    y=b;
}
void Point::display()
{
    cout<<x<<","<<y<<endl;
}
Point::Point(double a,double b):x(a),y(b){}
class Circle:public Point
{
protected:
    double radius;
public:
    Circle(double x=0,double y=0,double radius=0 );//构造函数(x,y是基类里的变量)
    void setRadius(double);       //设置半径值
    double getRadius( ) const;   //读取半径值
    double area ( ) const;         //计算圆面积
    void show();

};
Circle::Circle(double a,double b,double r ):Point(a,b),radius(r){}
void Circle::setRadius(double c)//设置元的半径
{
    radius=c;
}
double Circle::getRadius( )const//得到圆的半径
{
    return radius;
}
 double Circle::area ()const//计算圆的面积
 {
     return 3.1415926*radius*radius;
 }
 void Circle::show()//输出这个圆的信息
 {
     cout<<"此圆原点为:("<<x<<","<<y<<") 半径为:"<<radius<<" 面积为:"<<area()<<endl;
 }
int main()
{
    Circle p1(1.8,1.5,1);
    p1.show();
    p1.setRadius(3);
    cout<<"更改半径后:"<<endl;
    p1.show();
    return 0;
}

学习心得:

在这个程序中用到了继承,在写这个程序时出现了一些问题在类中成员的变量我用了私有形式导致在派生类里无法使用,在类中应用保护形式这样在派生类中就可以访问了。在定义一些成员函数时有一些用const形式会更好( double getY() const    double getX() const    double getRadius( ) const)。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值