C++クラスブレークポイントと円の位置関係とそのファイル作成

26641 ワード

完全なコード:
#include
using namespace std;
//    :
class Point
{
public:
	void setX(int X)
	{
		m_X = X;
	}
	void setY(int Y)
	{
		m_Y = Y;
	}
	int getX()
	{
		return m_X;
	}
	int getY()
	{
		return m_Y;
	}
private:
	int m_X;
	int m_Y;
};
//    :
class Circal
{
public:
	void setR(int R)
	{
		m_R = R;
	}
	void setCenter(Point Center)
	{
		m_Center = Center;
	}
	int getR()
	{
		return m_R;
	}
	Point getCenter()
	{
		return m_Center;
	}
private:
	int m_R;
	Point m_Center;//         
};
//         //    
void isLocation(Circal &c, Point &p)
{
	int distance = (p.getX() - c.getCenter().getX())*(p.getX() - c.getCenter().getX()) +
					(p.getY() - c.getCenter().getY())*(p.getY() - c.getCenter().getY());
	int rDistance = c.getR()*c.getR();
	if (distance > rDistance)
	{
		cout << "   " << endl;
	}
	else if (distance = rDistance)
	{
		cout << "   " << endl;
	}
	else
	{
		cout << "   " << endl;
	}
}
int main()
{
	//   
	Circal C;
	C.setR(10);
	//  
	Point center;
	center.setX(10);
	center.setY(0);
	C.setCenter(center);
	// 
	Point P;
	P.setX(10);
	P.setY(11);
	//        
	isLocation(C, P);

}

分ファイル作成:1、ヘッダファイルpoint.hヘッダファイル:Pointクラスメンバー関数の宣言
#pragma once//         
#include
using namespace std;
//    :
class Point
{
public:
	//       
	void setX(int X);

	void setY(int Y);

	int getX();

	int getY();

private:
	int m_X;
	int m_Y;
};

circle.hヘッダファイル:Circleクラスメンバー関数の宣言
#pragma once//         
#include
using namespace std;
#include"point.h"
//    :
class Circle
{
public:
	void setR(int R);

	void setCenter(Point Center);

	int getR();

	Point getCenter();
	
private:
	int m_R;
	Point m_Center;
};

2:ソースファイルpointを作成する.cppソースファイル:Pointクラスメンバー関数の実装
#include"point.h"
void Point::setX(int X)// “Point::”        Point    
{
	m_X = X;
}
void Point::setY(int Y)
{
	m_Y = Y;
}
int Point::getX()
{
	return m_X;
}
int Point::getY()
{
	return m_Y;
}

circle.cppヘッダファイル:Circleクラスメンバー関数の実装
#include"circle.h"
void Circle::setR(int R)
{
	m_R = R;
}
void Circle::setCenter(Point Center)
{
	m_Center = Center;
}
int Circle::getR()
{
	return m_R;
}
Point Circle::getCenter()
{
	return m_Center;
}

3:主関数の実現
#include
using namespace std;
#include"point.h"
#include"circle.h"

//         //    
void isLocation(Circle &c, Point &p)
{
	int distance = (p.getX() - c.getCenter().getX())*(p.getX() - c.getCenter().getX()) +
					(p.getY() - c.getCenter().getY())*(p.getY() - c.getCenter().getY());
	int rDistance = c.getR()*c.getR();
	if (distance > rDistance)
	{
		cout << "   " << endl;
	}
	else if (distance = rDistance)
	{
		cout << "   " << endl;
	}
	else
	{
		cout << "   " << endl;
	}
}

int main()
{
	//   
	Circle C;
	C.setR(10);
	//  
	Point center;
	center.setX(10);
	center.setY(0);
	C.setCenter(center);
	// 
	Point P;
	P.setX(10);
	P.setY(11);
	//        
	isLocation(C, P);
}