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++文件流类与文件流对象
文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...
随机推荐
- LCA总结
作为一名合格的 OIer ,一定要有自我总结的意识,一定要通过写博客的方式来验证自己的掌握程度 ----沃.茨基硕德 目录 作为一名合格的 OIer ,一定要有自我总结的意识,一定要通过写博客的方式来 ...
- 面试题四:手写sql
矫正数据,有以下2个表,建表语句如下所示 -- 订单表 create table t_order ( id int auto_increment primary key, name varchar(2 ...
- 矩阵按对角线打印---python
将一个矩阵(二维数组)按对角线向右进行打印.(搜了一下发现好像是美团某次面试要求半小时手撕的题)Example:Input:[[1,2,3,4],[5,1,2,3],[9,5,1,2]]Output: ...
- android实现计时器(转)
新建布局文件activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Linea ...
- 如果面试官问你 JVM,额外回答逃逸分析技术会让你加分!
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章. 引言 我在面试别人的过程中,JVM 内存模型我几乎必问,虽然有人说问这些就是面试造航母,工作 ...
- vue(18)路由懒加载
什么是路由懒加载 官方的解释: 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载. 如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更 ...
- C语言:冒泡排序例子
//冒泡排序 //14个数字排序:14个数的组合:14*13/2=91次 理论上比较91次 ,实际只有39次进行了变量交换 #include <stdio.h> void bubble_s ...
- adb bat 改进
@REM 生成随机数@echo off@REM 设置延迟变量setlocal enabledelayedexpansionset min=9set max=17set /a mod=!max!-!mi ...
- 【论文阅读】PRM-RL Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning
目录 摘要部分: I. Introduction II. Related Work III. Method **IMPORTANT PART A. RL agent training [第一步] B. ...
- 【LeetCode】66. 加一
66. 加一 知识点:数组: 题目描述 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 ...