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++文件流类与文件流对象
文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...
随机推荐
- 基于Istio构建微服务安全加固平台的探索
简介 An open platform to connect, secure, control and observe services. Istio 是一个由谷歌.IBM 与Lyft共同开发的开源项 ...
- 使用A Star 算法实现自动寻路详解
@ 目录 1.什么是A Start算法 2.A Star算法的原理和流程 2.1 前提 2.1.1 从起点开始扩散的节点 2.1.2 最短距离计算公式:F = G + H 2.1.3 欧几里得距离计算 ...
- Prometheus+Grafana企业监控系统
Prometheus+Grafana企业监控系统 作者 刘畅 实验配置: 主机名称 Ip地址 controlnode 172.16.1.70/24 slavenode1 172.16.1.71/24 ...
- 38、linux中软件的安装方法
38.1.rpm安装: rpm -ivh 包名# i:安装的软件: v:显示正在安装的软件信息: h:显示安装软件的进度: rpm -ql 包名 #查看安装包里的文件: rpm -qa 包名#查询包是 ...
- 精尽Spring Boot源码分析 - 日志系统
该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...
- HDU 1686 Oulipo kmp裸题
kmp算法可参考 kmp算法 汇总 #include <bits/stdc++.h> using namespace std; const int maxn=1000000+5; cons ...
- 《汇编语言程序设计》(Professional Assembly Language)学习笔记(二)
挖坑:学习笔记(一)讲述如何在 Windows Vmware 上安装 Ubuntu 20.04 实践环境 本文是基于Ubuntu 20.04平台进行实验,下文中的解决方法都基于此前提 问题记录 问题一 ...
- 初入web前端---实习(职场菜鹏)
作为一个大四的准职场新人,顺利的找到了一份自己想从事的工作---web前端开发.
- Java:Java单例中的懒汉和饿汉模式
1.懒汉模式 懒汉模式:在类加载的时候不被初始化,懒汉式是延时加载,他是在需要的时候才创建对象. public class JdbcUtil { //定义私有的引用 private static Jd ...
- buu 内涵软件
一.无壳. 并且是32位程序, 二.用ida静态调试一下. 这里我脑子发热啊,flag已经在眼前,活生生被我放跑了,靠,我直接搜索字符串,然后就一脸懵逼的,进入了很多不知名的函数,就炸了,看了wp才知 ...