1 源文件 main.cpp
2 //点和圆的关系
3 //设计一个圆形类 和一个点类 计算点和圆的关系
4 //点到圆心的距离 == 半径 点在圆上
5 //点到圆心的距离 > 半径 点在圆外
6 //点到圆心的距离 < 半径 点在圆内
7 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比
8 // 计算 可以 两边同时 平方
9 #include <iostream>
10 #include<string>
11 #include"circle.h"
12 #include"point.h"
13
14 using namespace std;
15
16 ////点类
17 //class Point
18 //{
19 //public:
20 // //设置X
21 // void setX(int x)
22 // {
23 // m_X = x;
24 // }
25 //
26 // //获取X
27 // int getX()
28 // {
29 // return m_X;
30 // }
31 // //设置Y
32 // void setY(int y)
33 // {
34 // m_Y = y;
35 // }
36 // //获取Y
37 // int getY()
38 // {
39 // return m_Y;
40 // }
41 //
42 //
43 //private:
44 //
45 // int m_X;
46 // int m_Y;
47 //};
48 //
49 ////圆类
50 //class Circle
51 //{
52 //public:
53 // //设置半径
54 // void setR(int r)
55 // {
56 // m_R = r;
57 // }
58 //
59 // //获取半径
60 //
61 // int getR()
62 // {
63 // return m_R;
64 // }
65 //
66 // //设置圆心
67 // void setCenter(Point center)
68 // {
69 // m_Center = center;
70 // }
71 //
72 // //获取圆心
73 // Point getCenter()
74 // {
75 // return m_Center;
76 // }
77 //
78 //private:
79 //
80 // int m_R; //半径
81 //
82 // //在类中可以让另一个类 作为本类种的成员
83 // Point m_Center; //圆心
84 //};
85
86 //判断点和圆的关系
87
88 void isInCircle(Circle &c, Point &p)
89 {
90 //计算两点之间距离 平方
91 int distance =
92 (c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX()) +
93 (c.getCenter().getY()- p.getY()) * (c.getCenter().getY() - p.getY());
94
95 //计算半径的平方
96 int rDistance = c.getR() * c.getR();
97
98
99 //判断关系
100
101 if (distance == rDistance)
102 {
103 cout << "点在圆上" << endl;
104 }
105 else if (distance > rDistance)
106 {
107 cout << "点在圆外" << endl;
108 }
109 else
110 {
111 cout << "点在圆内" << endl;
112 }
113
114
115 }
116
117
118 int main()
119 {
120
121 //创建圆
122 Circle c;
123 c.setR(10);
124 Point center;
125 center.setX(10);
126 center.setY(0);
127 c.setCenter(center);
128
129
130
131
132 //创建点
133 Point p;
134 p.setX(10);
135 p.setY(10);
136
137
138 //判断
139 isInCircle(c, p);
140
141
142 }
143
144 新建头文件
145 point.h
146 #pragma once
147 #include<iostream>
148 using namespace std;
149
150 //点类
151 class Point
152 {
153 public:
154 //设置X
155 void setX(int x);
156
157 //获取X
158 int getX();
159
160 //设置Y
161 void setY(int y);
162
163 //获取Y
164 int getY();
165
166
167
168 private:
169
170 int m_X;
171 int m_Y;
172 };
173
174
175
176
177 新建 point.c 源文件
178 #include "point.h"
179 //点类
180
181
182 //设置X
183 void Point::setX(int x)
184 {
185 m_X = x;
186 }
187
188 //获取X
189 int Point::getX()
190 {
191 return m_X;
192 }
193 //设置Y
194 void Point::setY(int y)
195 {
196 m_Y = y;
197 }
198 //获取Y
199 int Point::getY()
200 {
201 return m_Y;
202 }
203
204 新建 circle.h 头文件
205 #pragma once
206 #include <iostream>
207 using namespace std;
208 #include "point.h"
209
210
211 //圆类
212 class Circle
213 {
214 public:
215 //设置半径
216 void setR(int r);
217
218
219 //获取半径
220
221 int getR();
222
223
224 //设置圆心
225 void setCenter(Point center);
226
227
228 //获取圆心
229 Point getCenter();
230
231
232 private:
233
234 int m_R; //半径
235
236 //在类中可以让另一个类 作为本类种的成员
237 Point m_Center; //圆心
238 };
239 新建circle.c 源文件
240 #include "circle.h"
241 //圆类
242
243 //设置半径
244 void Circle::setR(int r)
245 {
246 m_R = r;
247 }
248
249 //获取半径
250
251 int Circle::getR()
252 {
253 return m_R;
254 }
255
256 //设置圆心
257 void Circle::setCenter(Point center)
258 {
259 m_Center = center;
260 }
261
262 //获取圆心
263 Point Circle::getCenter()
264 {
265 return m_Center;
266 }

C++ 2(将类分文件) //点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方的更多相关文章

  1. C++ 1 (只在源文件)//点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方

    1 //点和圆的关系 2 //设计一个圆形类 和一个点类 计算点和圆的关系 3 //点到圆心的距离 == 半径 点在圆上 4 //点到圆心的距离 > 半径 点在圆外 5 //点到圆心的距离 &l ...

  2. FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过

    /*统计除了>之外的行里面CHED四个字母总数*/ #include<fstream> #include<iostream> #include<cstring> ...

  3. MFC如何生成一个可串行化的类

    一.MFC允许对象在程序运行的整个过程中持久化的串行化机制 (1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程. (2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构 ...

  4. VC++ MFC如何生成一个可串行化的类

    一.MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程.(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的 ...

  5. 用cocos2d-html5做的消除类游戏《英雄爱消除》(2)——Block设计实现

    Block可以说是这个游戏的核心类,它除了包含自身的一些属性和方法外还添加了对触摸事件的响应. 我们先来看下源码吧 /** * Power by html5中文网(html5china.com) * ...

  6. c++类模板分文件编写存在的问题

    c++分文件编写的编译机制: 各个文件独立编译,如果在某.cpp文件中出现了函数调用,但是在此.cpp文件并没有对应函数的实现.此时就会在函数调用出生成特定的符号,在之后的链接过程完成函数调用. C+ ...

  7. c++类模板之分文件编写问题及解决

    我们在实际项目中一般习惯头文件(.h)和源文件(.cpp)分开写,这样做的好处良多,但是如果遇到了类模板,这样可能会有一点儿问题. 我们通过一个例子来看: person.h: #pragma once ...

  8. A Round Peg in a Ground Hole(判断是否是凸包,点是否在凸包内,圆与多边形的关系)

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4628   Accepted: 1434 Description The D ...

  9. C++文件流类与文件流对象

    文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...

随机推荐

  1. Excel对单元格设置上涨、下降箭头

    1.有以下学生成绩表,对期末考试设置上涨.下降箭头,体现考生成绩变动: 2.选中C2,"条件格式"-"管理规则"-"新建规则"-" ...

  2. POJ 1082 Calendar Game 原来这题有个超简单的规律

    万能的discuss.只需要月份和天数同奇同偶即可,9月30和11月30例外 #include <iostream> #include <cstdio> using names ...

  3. Python Tkinter Menu

    本人想开发一个简易的搜图GUI,基于此,选择用Tkinter模块开发. 需要开发出菜单栏 1 from Tkinter import * 2 3 4 root = Tk() 5 root.title( ...

  4. Spring boot中相关的注解

    一.相关类中使用的注解 @RestController:REST风格的控制器 @RequestMapping:配置URL和方法之间的映射 @SpringBootApplication:应用程序入口类 ...

  5. C语言:预处理命令总结

    预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符.# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行 ...

  6. Tomcat网站根目录设置

    直接将war放入到webapps目录下 修改server.xml文件,在Host节点下添加如下代码 <Context path="/" docBase="web&q ...

  7. [刘阳Java]_JdbcTemplate用法_第11讲

    JdbcTemplate模板提供操作数据库的方法应用,下面我们来说一下它的用法(注意:建议大家结合Spring API文档学习效果更好,因为下面的代码只是"抱砖引玉") 1. 遵循 ...

  8. SFC style CSS variable injection

    摘要 在单文件组件样式中支持使用组件状态驱动的 CSS 变量( CSS 自定义属性). 基础示例 <template> <div class="text"> ...

  9. 在Rancher中修改K8S服务参数的万金油法则

    作者简介 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有7年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Lin ...

  10. 使用xampp在本地环境配置虚拟域名

    最近在学习ThinkPHP5.1.手册里面提到"实际部署中,应该是绑定域名访问到public目录,确保其它目录不在WEB目录下面."所以把使用xampp在本地配置虚拟域名的过程记录 ...