C++ 编程作业 下面的类Circle继承于类Point,并重新定义了5个成员函数

26.下面的类Circle继承于类Point,并重新定义了5个成员函数,其中函数area计算对象的面积并返回;函数getLeftX计算对象最左边的点的x坐标并返回;函数getRightX计算对象最右边的点的x坐标并返回;函数getUpY计算对象最上边的点的y坐标并返回;函数getDownY()计算对象最下边的点的y坐标并返回;完成这5个函数的编写。这5个函数的实现放在类中。 

#include <iostream>
#define PI 3.14159
using namespace std;

class Point {
public:
        Point(double a=0, double b=0)
        {
                x = a;
                y = b;
        }
        double area() {return 0;}
        double getLeftX() {return x;}
        double getRightX() {return x;}
        double getUpY() {return y;}
        double getDownY() {return y;}
protected:
        double x, y;        //坐标
};
class Circle : public Point {
public:
        Circle(double a=0, double b=0, double c=0)
                :Point(a,b)
        {
                if (c>0)
                        r = c;
                else 
                        r = 0;
        }
/**********Program**********/
        double area() {  
            return PI * r * r;  // 使用公式 PI*r^2 计算圆的面积  
        }  
        double getLeftX() {   
            return x - r;  // 返回左边点的x坐标  
        }  
        double getRightX() {   
            return x + r;  // 返回右边点的x坐标  
        }  
        double getUpY() {   
            return y + r;  // 返回上边点的y坐标  
        }  
        double getDownY() {   
            return y - r;  // 返回下边点的y坐标  
        }
/**********  End  **********/
protected:
        double r;        //半径
};
int main()
{
        Circle c1(1,3,5);
        cout<<"Left x: "<<c1.getLeftX()<<endl;
        cout<<"Right x: "<<c1.getRightX()<<endl;
        cout<<"Up y: "<<c1.getUpY()<<endl;
        cout<<"Down y: "<<c1.getDownY()<<endl;
        cout<<"Area: "<<c1.area()<<endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值