背景:在main函数中定义圆的信息和点的信息,判断点和圆的关系。circle和point是两个类,isaa是距离判断函数,circle类中嵌套了point类。类包括权限、成员属性(变量)、成员行为(函数),权限包括public、protected、private三种,一般成员属性设置在private权限里,通过类内的接口函数去读和写。
vs目录:
bglei.cpp包含main主函数:
#include<iostream>
#include"point.h"
#include"circle.h"
#include"isaa.h"
using namespace std;
int main()
{
circle c;
c.set_R(10);
point center;
center.set_x(10);
center.set_y(0);
c.set_cen(center);
point q1;
q1.set_x(10);
q1.set_y(9);
point q2;
q2.set_x(10);
q2.set_y(10);
point q3;
q3.set_x(10);
q3.set_y(11);
isposition(c, q1);
isposition(c, q2);
isposition(c, q3);
system("pause");
return 0;
}
点坐标类头文件point.h:
#pragma once
#include<iostream>
using namespace std;
class point
{
public:
void set_x(int x);
int get_x();
void set_y(int y);
int get_y();
private:
int dx;
int dy;
};
点的函数定义文件point1.cpp:
#include"point.h"
void point::set_x(int x)
{
dx = x;
}
int point::get_x()
{
return dx;
}
void point::set_y(int y)
{
dy = y;
}
int point::get_y()
{
return dy;
}
圆类头文件circle.h:
#pragma once
#include<iostream>
#include"point.h"
using namespace std;
class circle
{
public:
void set_R(int r);
int get_R();
void set_cen(point mc);
point get_cen();
private:
int m_R;
point m_center;
};
圆的函数定义文件circle1.cpp:
#include"circle.h"
void circle::set_R(int r)
{
m_R = r;
}
int circle::get_R()
{
return m_R;
}
void circle::set_cen(point mc)
{
m_center = mc;
}
point circle::get_cen()
{
return m_center;
}
距离比较函数头文件isaa.h:
#pragma once
#include<iostream>
#include"point.h"
#include"circle.h"
using namespace std;
void isposition(circle& c, point& d);
距离比较函数文件isaa1.cpp:
#include"isaa.h"
void isposition(circle& c, point& d)
{
int distance =
(c.get_cen().get_x() - d.get_x()) * (c.get_cen().get_x() - d.get_x()) +
(c.get_cen().get_y() - d.get_y()) * (c.get_cen().get_y() - d.get_y());
int rdis =
c.get_R() * c.get_R();
cout << "圆心:(" << c.get_cen().get_x() << "," << c.get_cen().get_y() << ")\t" << "圆的半径:" << rdis << endl;
cout << "点的坐标:(" << d.get_x() << "," << d.get_y() << ")" << endl;
if (distance > rdis)
{
cout << "结论:点在圆外" << endl << endl;
}
else if (distance < rdis)
{
cout << "结论:点在圆内" << endl << endl;
}
else
{
cout << "结论:点在圆上" << endl << endl;
}
}
运行bglei.cpp结果: