【C/C++学院】(5)面向对象编程练习--h和cpp分开编写

简介: <p>抽象一个点,一个圆,并判断点与圆的关系。(在圆内还是圆外)  </p> <p><img src="http://img.blog.csdn.net/20150122110857411" alt=""><br></p> <p>h文件进行类的声明;</p> <p>cpp文件为类的实现细节;主要注重的细节为:</p> <p><img src="http://img.blog.csd

抽象一个点,一个圆,并判断点与圆的关系。(在圆内还是圆外)  


h文件进行类的声明;

cpp文件为类的实现细节;主要注重的细节为:


在类外定义成员函数;
使用域作用符;

=================================================================================================================================


工程代码如下:

//MyCircle.h
#pragma once
#include"MyPoint.h"
class MyCircle
{
public:
	void setCir(double x, double y, double r);

public:
	char * judge(double x, double y);
	char * judge(MyPoint &p);

private:
	double x1, y1; //圆心坐标
	double r1;  //圆半径
};

//MyPoint.h
#pragma once
class MyPoint
{
private:
	double x0, y0; //点坐标
public:
	void setPoint(double x, double y);
	double getX0();
	double getY0();
};

//MyCircle.cpp
#include "MyCircle.h"

void MyCircle::setCir(double x, double y, double r)
{
	x1 = x; y1 = y; r1 = r;
}
char* MyCircle::judge(double x, double y)
{
	double s = (x1 - x)*(x1 - x) + (y1 - y)*(y1 - y) - r1*r1;
	if (s > 0)
	{
		return "在圆外";
	}
	else
	{
		return "在圆内";
	}
}
char* MyCircle::judge(MyPoint &p)
{
	double s = (x1 - p.getX0())*(x1 - p.getX0()) + (y1 - p.getY0())*(y1 - p.getY0()) - r1*r1;
	if (s > 0)
	{
		return "在圆外";
	}
	else
	{
		return "在圆内";
	}
}

//MyPoint.cpp
#include "MyPoint.h"

void MyPoint::setPoint(double x, double y)
{
	x0 = x;
	y0 = y;
}
double MyPoint::getX0()
{
	return x0;
}
double MyPoint::getY0()
{
	return y0;
}

//MainTestClass.cpp
#include "iostream"
#include "MyCircle.h"
#include "MyPoint.h"

using namespace std;

void main()
{
	MyCircle c1;
	MyPoint  p1;
	c1.setCir(2, 2, 3);
	p1.setPoint(1, 1);
	cout << c1.judge(p1.getX0(), p1.getY0()) << endl;
	cout << c1.judge(p1) << endl;

	system("pause");
}




目录
相关文章
|
1月前
|
C++
如何在C++中实现cpp文件中引用另外一个cpp文件
如何在C++中实现cpp文件中引用另外一个cpp文件
|
1月前
|
C++
C++:OJ练习(每日练习系列)
C++:OJ练习(每日练习系列)
34 2
|
3月前
|
编译器 C++
【C++类和对象下:解锁面向对象编程的奇妙世界】(下)
【C++类和对象下:解锁面向对象编程的奇妙世界】
|
6月前
|
C++
关于指针,你不可以错过的练习(c/c++)
关于指针,你不可以错过的练习(c/c++)
46 0
|
7月前
|
C++
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
68 0
|
1月前
|
Shell C++
C++:OJ练习(每日练习系列)
C++:OJ练习(每日练习系列)
26 1
|
1月前
|
Serverless C++
C++:OJ练习(每日练习!)
C++:OJ练习(每日练习!)
33 0
|
2月前
|
Java C++ Python
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-456 求链表各节点的平均值(C++解法)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-456 求链表各节点的平均值(C++解法)
29 0
|
2月前
|
Java C++ Python
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-161 Abbott’s Revenge(C++写法)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-161 Abbott’s Revenge(C++写法)
125 42
|
3月前
|
编译器 C++
【C++类和对象下:解锁面向对象编程的奇妙世界】(上)
【C++类和对象下:解锁面向对象编程的奇妙世界】