1、只写在一个文件里时的代码
//案例2-点和圆的关系
class point//点类
{
private:
int m_x;//x坐标
int m_y;//y坐标
public:
//设置x
void setx(int x)
{
m_x = x;
}
//获取x
int getx()
{
return m_x;
}
//设置y
void sety(int y)
{
m_y = y;
}
//获取y
int gety()
{
return m_y;
}
};
class cirle//圆类
{
private:
int m_r;//半径
point m_center;//圆心
public:
//设置半径
void setr(int r)
{
m_r = r;
}
//获取半径
int getr()
{
return m_r;
}
//设置圆心
void setcenter(point center)
{
m_center = center;
}
//获取圆心
point getcenter()
{
return m_center;
}
};
//判断点和圆的关系
void isInCirle(Cirle&c, Point p)
{
//计算点到圆心之间的距离的平方
int distance = (c.getCenter().getX() - p.getX())*(c.getCenter().getX() - p.getX()) + (c.getCenter().getY() - p.getY())*(c.getCenter().getY() - p.getY());
//计算圆的半径
int Rdistance = c.getR()*c.getR();
if (distance == Rdistance)
{
cout << "点在圆上" << endl;
}
else if (distance > Rdistance)
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main()
{
//创建圆
Cirle c1;
c1.setR(10);
Point center;
center.setX(10);
center.setY(0);
c1.setCenter(center);
//创建点
Point p;
p.setX(10);
p.setY(1);
//判断关系
isInCirle(c1, p);
}
2、分文件编写;
先建立一个头文件,命名为Point.h,放上类的成员变量和成员函数的声明;再建立一个Point.cpp的源文件写类中成员函数的具体实现,记得加上作用域。
//Point.h
#pragma once
#include<iostream>
using namespace std;
class Point//点类
{
private:
int m_X;//X坐标
int m_Y;//Y坐标
public:
//设置X
void setX(int X);
//获取X
int getX();
//设置Y
void setY(int Y);
//获取Y
int getY();
};
//Cirle.h
#pragma once
#include<iostream>
using namespace std;
#include"Point.h"//因为Cirle类中含有Point类
class Cirle//圆类
{
private:
int m_R;//半径
Point m_Center;//圆心
public:
//设置半径
void setR(int R);
//获取半径
int getR();
//设置圆心
void setCenter(Point Center);
//获取圆心
Point getCenter();
};
//Point.cpp
#include"Point.h"
void Point::setX(int X)
{
m_X = X;
}
//获取X
int Point::getX()
{
return m_X;
}
//设置Y
void Point::setY(int Y)
{
m_Y = Y;
}
//获取Y
int Point::getY()
{
return m_Y;
}
//Cirle.cpp
#include"Cirle.h"
void Cirle::setR(int R)//加上作用域
{
m_R = R;
}
//获取半径
int Cirle::getR()
{
return m_R;
}
//设置圆心
void Cirle::setCenter(Point Center)
{
m_Center = Center;
}
//获取圆心
Point Cirle::getCenter()
{
return m_Center;
}
3、在最后你要是实现的那个cpp文件里加上之前创建好的两个头文件就可以了。
#include"Cirle.h"
#include"Point.h"