C++核心编程——P22-练习案例2:点和圆的关系

38dbb99c9fe34b06866d6226fba8b5eb.png

在一个类中可以让另一个类作为这个类的成员

#include<iostream>
using namespace std;
class Point//点类
{
public:void setx(int x){c_x = x;}int getx(){return c_x;}void sety(int y){c_y = y;}int gety(){return c_y;}//建议将属性设置为私有,对外提供接口
private:int c_x;int c_y;
};
class Circle//圆类
{
public:void setr(int r){c_R = r;}int getr(){return c_R;}void setcenter(Point center){c_center = center;}Point getcenter()//getcenter()的返回值类型设置为了point类,自己定义的类。{return c_center;}
private:int c_R;Point c_center;//在一个类中可以让另一个类作为这个类的成员
};
//判断
void isInCircle(Circle &c,Point &p)
{int distance =(c.getcenter().getx() - p.getx()) * (c.getcenter().getx() - p.getx()) +(c.getcenter().gety() - p.gety()) * (c.getcenter().gety() - p.gety());int rdistance = c.getr() * c.getr();if (distance == rdistance){cout << "点在圆上" << endl;}else if (distance > rdistance){cout << "点在圆外" << endl;}else{cout << "点在圆内" << endl;}
}
int main(void)
{Circle c;c.setr(10);Point center;//center是圆心这个点center.setx(10);center.sety(10);c.setcenter(center);Point p1;p1.setx(3);p1.sety(4);//调用判断isInCircle(c1, p1);return 0;	
}

将一个类拆分成两个文件

point.h

#pragma once
#include<iostream>
using namespace std;
class Point
{
public:void setx(int x);int getx();void sety(int y);int gety();
private:int c_x;int c_y;
};

 point.cpp

#include"point.h"
//Point::告诉编译器这是Point作用域下面的一个成员函数
void Point::setx(int x)
{c_x = x;
}
int Point::getx()
{return c_x;
}
void Point::sety(int y)
{Point::c_y = y;
}
int Point::gety()
{return c_y;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/85354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django(20):信号机制

目录 信号的工作机制信号的应用场景两个简单例子Django常用内置信号如何放置信号监听函数代码自定义信号第一步&#xff1a;自定义信号第二步&#xff1a;触发信号第三步&#xff1a;将监听函数与信号相关联 信号的工作机制 Django 框架包含了一个信号机制&#xff0c;它允许若…

pcl--第十二节 2D和3D融合和手眼标定

2D&3D融合 概述 截止目前为止&#xff0c;我们学习了机器人学&#xff0c;学习了2D和3D视觉算法。我们也学习了2D相机(图像数据的来源)和3D相机(点云数据的来源)工作原理。 实际上&#xff0c;我们最终要做的&#xff0c;是一个手眼机器人系统。在这个系统里&#xff0c…

pytorch学习------常见的优化算法

优化算法 优化算法就是一种调整模型参数更新的策略&#xff0c;在深度学习和机器学习中&#xff0c;我们常常通过修改参数使得损失函数最小化或最大化。 优化算法介绍 1、梯度下降算法&#xff08;batch gradient descent BGD&#xff09; 每次迭代都需要把所有样本都送入&…

宝塔composer 安装laravel依赖出现的问题

环境宝塔、PHP版本8.0.2、laravel9 问题1&#xff1a;PHP Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv() 办法&#xff1a;把PHP版本disable_functions这个中的putenv去掉&#xff0c;这个意思就是putenv被PHP对应的版本禁用了&…

深入了解队列数据结构:定义、特性和实际应用

文章目录 &#x1f34b;引言&#x1f34b;队列的定义&#x1f34b;队列的实现&#x1f34b;队列的应用&#x1f34b;练习题&#x1f34b;结语 &#x1f34b;引言 队列&#xff08;Queue&#xff09;是计算机科学中一种重要的数据结构&#xff0c;它常用于各种应用程序中&#x…

RabbitMQ里的几个重要概念

RabbitMQ中的一些角色&#xff1a; publisher&#xff1a;生产者consumer&#xff1a;消费者exchange个&#xff1a;交换机&#xff0c;负责消息路由&#xff0c;接受生产者发送的消息&#xff0c;把消息发送到一个或多个队列里queue&#xff1a;队列&#xff0c;存储消息virt…

Hive【Hive(一)DDL】

前置准备 需要启动 Hadoop 集群&#xff0c;因为我们 Hive 是在 Hadoop 集群之上运行的。 从DataGrip 或者其他外部终端连接 Hive 需要先打开 Hive 的 metastore 进程和 hiveserver2 进程。metastore 和 hiveserver2 进程的启动过程比较慢&#xff0c;不要着急。 Hive DDL 数据…

基于SpringBoot的网上超市系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户功能实现 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计…

微软在Windows 11推出Copilot,将DALL-E 3集成在Bing!

美东时间9月21日&#xff0c;微软在美国纽约曼哈顿举办产品发布会&#xff0c;生成式AI成为重要主题之一。 微软表示&#xff0c;Copilot将于9月26日在Windows 11中推出&#xff1b;Microsoft 365 Copilot 将于11 月1日向企业客户全面推出&#xff1b;将OpenAI最新的文本生成图…

1201. 丑数 III -- 巧用二分搜索

1201. 丑数 III class Solution:"""巧用二分搜索1201. 丑数 IIIhttps://leetcode.cn/problems/ugly-number-iii/"""def nthUglyNumber(self, n: int, a: int, b: int, c: int) -> int:# 题目说本题结果在 [1, 2 * 10^9] 范围内left, right 1…

【货币单位换算】python实现-附ChatGPT解析

1.题目 题目描述: 记账本上记录了若干条多国货币金额,需要转换成人民币分 (fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数宁+单位, 可能是单独元,或者单独分,或者元与分的组合。 要求将这些货币全部换算成人民币分 (fen) 后进行汇总, 汇总结果仅保留整…

【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures

2013年&#xff0c;太老了&#xff0c;先不看 比较老的一篇论文&#xff0c;近规则铣削纹理中的自适应异常检测 1 Abstract 在钢质量控制中的应用&#xff0c;我们提出了图像处理算法&#xff0c;用于无监督地检测隐藏在全局铣削模式内的异常。因此&#xff0c;我们考虑了基于…

GitHub Copilot Chat

9月21日&#xff0c;GitHub在官网宣布&#xff0c;所有个人开发者可以使用GitHub Copilot Chat。用户通过文本问答方式就能生成、检查、分析各种代码。 据悉&#xff0c;GitHub Copilot Chat是基于OpenAI的GPT-4模型打造而成&#xff0c;整体使用方法与ChatGPT类似。例如&…

TouchGFX之画布控件

TouchGFX的画布控件&#xff0c;在使用相对较小的存储空间的同时保持高性能&#xff0c;可提供平滑、抗锯齿效果良好的几何图形绘制。 TouchGFX 设计器中可用的画布控件&#xff1a; LineCircleShapeLine Progress圆形进度条 存储空间分配和使用​ 为了生成反锯齿效果良好的…

华为云云耀云服务器L实例评测 | minikube部署和使用

### 1 安装Docker 按照官网[Docker docs](https://docs.docker.com/engine/install/centos/)指引安装&#xff1a; shell yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce docker-…

[C++随笔录] vector模拟实现

vector模拟实现 基本结构天选之子构造拷贝构造析构operator 空间reserveresizesize && capacity 增insertpush_back 删erasepop_back 查 && 改swapoperator[] 源码 基本结构 // 可以是不同类型, 用类模板 template <class T> class vector { public:// 源…

将来已来-SoftwareDemo软件测试种子的埋下去-第二次重大情绪点的触及到

岗位需要&#xff0c;一头扎进了软件测试的方向里面去了。过去下过无数次决心&#xff0c;做成一个事情的方向&#xff0c;想不到换成了软件测试的了。不知道这次&#xff0c;会不会持续下去。 这是进入软件开发行业以来的一种重大变革&#xff0c;犹如泽火革卦象&#xff1b; …

git和github的入门操作

之前因为工作中用的都是SVN版本控制工具&#xff0c;没接触过git和github&#xff0c;现在开始深入自学Django框架技术后&#xff0c;看到官网推荐使用git&#xff0c;然后这两天网上查阅了很多文章教程&#xff0c;学到入门操作需要学习的点&#xff0c;太多的知识点要后面慢慢…

PHP常见的SQL防注入方法

利用Mysqli和PDO 产生原因主要就是一些数据没有经过严格的验证&#xff0c;然后直接拼接 SQL 去查询。导致产生漏洞&#xff0c;比如&#xff1a; $id $_GET[id]; $sql "SELECT name FROM users WHERE id $id";因为没有对 $_GET[‘id’] 做数据类型验证&#xf…