给出的解决方案 如下:
#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