C++ 2(将类分文件) //点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方
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 开根号 和半径对比 // 计算 可以 两边同时 平方的更多相关文章
- C++ 1 (只在源文件)//点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方
1 //点和圆的关系 2 //设计一个圆形类 和一个点类 计算点和圆的关系 3 //点到圆心的距离 == 半径 点在圆上 4 //点到圆心的距离 > 半径 点在圆外 5 //点到圆心的距离 &l ...
- FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过
/*统计除了>之外的行里面CHED四个字母总数*/ #include<fstream> #include<iostream> #include<cstring> ...
- MFC如何生成一个可串行化的类
一.MFC允许对象在程序运行的整个过程中持久化的串行化机制 (1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程. (2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构 ...
- VC++ MFC如何生成一个可串行化的类
一.MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程.(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的 ...
- 用cocos2d-html5做的消除类游戏《英雄爱消除》(2)——Block设计实现
Block可以说是这个游戏的核心类,它除了包含自身的一些属性和方法外还添加了对触摸事件的响应. 我们先来看下源码吧 /** * Power by html5中文网(html5china.com) * ...
- c++类模板分文件编写存在的问题
c++分文件编写的编译机制: 各个文件独立编译,如果在某.cpp文件中出现了函数调用,但是在此.cpp文件并没有对应函数的实现.此时就会在函数调用出生成特定的符号,在之后的链接过程完成函数调用. C+ ...
- c++类模板之分文件编写问题及解决
我们在实际项目中一般习惯头文件(.h)和源文件(.cpp)分开写,这样做的好处良多,但是如果遇到了类模板,这样可能会有一点儿问题. 我们通过一个例子来看: person.h: #pragma once ...
- A Round Peg in a Ground Hole(判断是否是凸包,点是否在凸包内,圆与多边形的关系)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4628 Accepted: 1434 Description The D ...
- C++文件流类与文件流对象
文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...
随机推荐
- Kubernetes架构原理
1.了解架构 在研究Kubernetes如何实现其功能之前,先具体了解下Kubernetes集群有哪些组件.Kubernetes集群分为两部分: Kubernetes控制平面 (工作)节点 具体看下这 ...
- 3、mysql的多实例配置(3)
8.mysql多实例故障排错:
- VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件
本文同时在我的博客发布:VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件 - Skykguj 's Blog (sky390.cn) 使用 Visual Studio C ...
- POJ 1584 A Round Peg in a Ground Hole 判断凸多边形 点到线段距离 点在多边形内
首先判断是不是凸多边形 然后判断圆是否在凸多边形内 不知道给出的点是顺时针还是逆时针,所以用判断是否在多边形内的模板,不用是否在凸多边形内的模板 POJ 1584 A Round Peg in a G ...
- 用Spingboot获得微信小程序的Code以及openid和sessionkey
这篇文章主要写的是怎么用spingboot来获取微信小程序的Code以及openid和sessionke,我觉得已经很详细了 我们要获得openid和sessionkey,就必须先要获得code, ...
- [Kick Start] 2021 Round B
题目:Kick Start 2021 Round-B . Increasing Substring 输出字符串中每个字符的最长 Increasing Substring 的长度,非常简单的动态规划问题 ...
- AOP面向切面的实现
AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理.日志.缓存等等. AOP ...
- leetcode 面试题 17.22. 单词转换(DFS+回溯)
题目描述 思路分析 这题回溯,先想出它的空间解是什么,这里空间解,其实就是给的原字符串到结束字符串中间的变形过程,那么就可以容易的画出一个解空间树,用深度搜索进行搜索, 剪枝后,进入下一个维度,再进行 ...
- ctf常见编码形式(罗师傅)
https://zhuanlan.zhihu.com/p/30323085 这是原链接 ASCII编码 •ASCII编码大致可以分作三部分组成: •第一部分是:ASCII非打印控制字符(参详ASCII ...
- [刘阳Java]_酷炫视频播放器制作_界面篇
今天开始分享一篇酷炫播放器制作,包括界面+JS.整个案例非常类似腾讯视频,优酷视频,爱奇艺视频.我们先看一下效果图,然后这篇文章主要界面篇 是不是效果比较酷炫,那么我接着来给大家说一下这个界面设计思路 ...