类 点圆关系在线求助 急 怎么都不对

 

给出的解决方案 如下:

#include <iostream>
#include <cmath>
using namespace std;
 
/******************************/
 
class Point
{
private:
    int x; int y;
public:
    Point(int = 0, int = 0);
    int GetX()const { return x; }//add const
    int GetY()const { return y; }
};
 
Point::Point(int a, int b) :x(a), y(b)//初始化列表
{
    //x = a; y = b;
}
 
/*****************************/
 
class Circle :public Point
{
private:
    int Radius;
public:
    Circle(int r = 0, int a = 0, int b = 0) :Point(a, b)
    {
        Radius = r;
    }
 
    int getRadius()const//add const
    {
        return Radius;
    }
    void Judje(const Point & ptJ)const;//以形参传入要判断的点
};
 
void Circle::Judje(const Point & ptJ)const
{
    int iChzhiX = GetX() - ptJ.GetX();
    int iChazhiY = GetY() - ptJ.GetY();
    double dLength = sqrt(iChzhiX *iChzhiX + iChazhiY *iChazhiY);
    if (dLength > Radius)
    {
        cout << "outside" << endl;
    }
    else if (dLength = Radius)
    {
        cout << "on" << endl;
        //return true;
    }
    else
    {
        cout << "inside" << endl;
        //return false;
    }
}
/********************************/
 
int main()
{
    Point P(3, 4);
    cout << "The Point is:(" << P.GetX() << "," << P.GetY() << ")" << endl << endl;
    Circle C(5, 6, 7);
    cout << "The Point is:(" << C.GetX() << "," << C.GetY() << ")" << endl;
    cout << "The Radius is:" << C.getRadius() << endl;
    C.Judje(P);//add
    return 0;
}

 

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632