c++166面下该过程 向面向对象的转变

news2024/9/21 4:27:42
#include<iostream>
using namespace std;
//设计类 属性 函数
//案例一 :立方体 面积和体积 
//求两个立方体是否相等 (全局函数和成员函数)
class Cube
{
private:
	int m_a;
	int m_b;
	int m_c;
	int m_v;
	int m_s;


public:
	//void setA(int a)
	//{
	//	m_a = a;
	//}
	//void setA(int b)
	//{
	//	m_b = b;
	//}
	//void setA(int c)
	//{
	//	m_c = c;
	//}

public:
	void setABC(int a = 0, int b = 0, int c = 0)
	{
		m_a = a;
		m_b = b;
		m_c = c;
	}

	int getA()
	{
		return m_a;
	}

	int getB()
	{
		return m_b;
	}

	int getC()
	{
		return m_c;
	}


	int getV()
	{
		m_v = m_a * m_b * m_c;
		return m_v;  // 返回体积
	}
	int getS()
	{
		m_s = 2 * (m_a * m_b) + (m_a * m_c) + (m_b * m_c);
		return m_s;
	}
	int judge(Cube& v2)//成员函数 函数重载
	{//m_a 是 v1的私有属性
		if ((m_a == v2.getA()) &&
			(m_b == v2.getB()) &&
			(m_c == v2.getC())
			)
			return 0;//成员函数重载
	}
};
 
//全局函数PK类的成员函数 // 相等 1 不相等0
int judge(Cube& v1, Cube& v2)//v2(这个对象)会调用 Cube类的成员函数
{
		if ((v1.getA() == v2.getA()) &&
			(v1.getB() == v2.getB()) &&
			(v1.getC() == v2.getC()))
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}


int main()
{
	Cube v1, v2;
	v1.setABC(1, 2, 3);
	cout<<v1.getS()<<endl;
	cout<<v1.getV()<<endl;

	//求两个立方体是否相等
	v2.setABC(1, 2, 4);
	//函数调用 意味着用v1对象类的成员函数
  int tag =	v1.judge(v2);//判断v1立方体和v2立方体是否相等 

	/*if(v1.judge(v1,v2)==1)
	 {
	cout << "=" << endl;
	 }*/

	 if(tag  ==1)
		{
	   cout << "=" << endl;
		}
	 else
	 {
		 cout << "not equal" << endl;
	 }

}

在这里插入图片描述

#include<iostream>
using namespace std;
//案例二: 设计一个圆形类:AdvCircle 和一个点类 Point 计算在圆的内部还是员的外部
//求点和圆的关系
class  Point;//声明 
class  Point
{
public:
	void setPoint(int _x1, int _y1)
	{
		x1 = _x1; y1 = _y1;
	}
	int getX1()
	{
		return x1;
	}
	int getY1()
	{
		return y1;
	}
protected:
private:

	int x1;
	int y1;
};


class  AdvCircle
{
public :
	void setCircle(int _r,int _x0,int _y0 )
	{
		r = _r; x0 = _x0; y0 = _y0;
	}
public:
	int judge(Point& myp)//引用
	{
		int d = (myp.getX1() - x0) * (myp.getX1() - x0) + (myp.getY1() - y0) * (myp.getY1() - y0);
		if (d <= r)
		{
			return 0;//圆形内部
		}
		else
		{
			return 1;
		}
		return 0;
	}
protected:
private:
	int r;
	int x0;
	int y0;
};



void main()
{
	AdvCircle c1;
	c1.setCircle(3, 1, 1);
	Point p1;
	p1.setPoint(2, 4);
	//在园内 1 不在圆内 0
	
	int  tag= c1.judge(p1);//把点带入圆里面
	//调用c1这个类的成员函数 会使用c1 这个私有属性
	//p1 这个类做函数参数封装了属性和方法
	if (tag == 1)
	{
		cout << "in the circle" << endl;
	}
	else {
		cout << "not in the circle" << endl;
	}
	return;
}

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

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

相关文章

视频剪辑软件大盘点:四款神级工具让你工作更高效!

工作中&#xff0c;视频剪辑是一项不可或缺的技能。而选择一款好用的视频剪辑软件&#xff0c;更是提升工作效率的关键。今天&#xff0c;我就将从功能、易用性、效果以及个人使用感受等方面为大家推荐四款免费的视频剪辑软件&#xff1a; 第一款&#xff1a;福昕视频剪辑 我…

中秋之约,尽在食家巷小程序

中秋&#xff0c;那是一个被月光温柔包裹&#xff0c;被亲情浓浓环绕的节日。在这个象征团圆的日子里&#xff0c;美食就像是情感的纽带&#xff0c;将人们的心紧紧系在一起。而食家巷的美味绝对能让你的中秋更添几分甜蜜。 现在呀&#xff0c;我要给大家推荐一个超级方便的好东…

毫欧表设计整体思路

原因 对于焊接设备的低阻值测量&#xff0c;一般都是mΩ级别的&#xff0c;但万用表的电阻档一般都是以200Ω做为最小档位 设计原理及软件实现设计 设计思路原理图 通过串联在电路中的电流相等&#xff0c;根据阻值和电压的关系得到电阻对应大小 设计中需要考虑的问题 1…

[ccs调试记录]

解决方式&#xff1a;删除code_strat 提示Page0内存不够&#xff0c;找到Page0&#xff0c;根据红叉提示&#xff0c;Ram1内存不足&#xff0c;进行修改 Ram1 length从1000修改为2000&#xff0c;即可&#xff1a;

MIT6.824 课程-PrimaryBackupReplication

Primary Backup Replication 背景 为实现可容错的服务器&#xff0c;主从备份是一种常用的解决方案&#xff1a;在开启了主动备份的系统中&#xff0c;备份服务器的状态需要在几乎任何时候都与主服务器保持一致&#xff0c;这样当主服务器失效后备份服务器才能立刻接管。实现…

计算机网络(二) —— 网络编程套接字

目录 一&#xff0c;认识端口号 1.1 背景 1.2 端口号是什么 1.3 三个问题 二&#xff0c;认识Tcp协议和Udp协议 三&#xff0c;网络字节序 四&#xff0c;socket编程接口 4.1 socket常见API 4.2 sockaddr结构 一&#xff0c;认识端口号 1.1 背景 问题&#xff1a;在进…

C++,Qt学习 2024.9.10

制作ui界面实现&#xff1a;模拟定时闹钟功能 启动后&#xff0c;lab实时获取系统时间&#xff0c;当系统时间走到设置的时间时&#xff0c;语音播报下方lineEdit中的内容&#xff0c;启动前取消按键不可用&#xff0c;启动后除了取消按键可用其他部分都设为不可用&#xff0c…

Java 创建对象方法的演变

1、普通 Java 代码 public class Rectangle {private int width;private int length;public Rectangle() {System.out.println("Hello World!");}public void setWidth(int widTth) {this.width widTth;}public void setLength(int length) {this.length length;}…

个人随想-如何开发一个code agent

随着sonnet的普及&#xff0c;现在的开发确实可以达到事半功倍的效果&#xff0c;再加上cursor、claude dev等工具的加持&#xff0c;现在的软件开发&#xff0c;确实门槛降低了很多&#xff0c;我们可以快速的让ai给我们大量的提示、重构、单元测试、explain甚至是完全用自然语…

c++指针和引用专题

一 基本概念 图解C++指针与引用的区别_指针与引用 图解-CSDN博客https://blog.csdn.net/shang_0122/article/details/104755481 为什么C+

房屋租赁|基于springboot的房屋租赁管理系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#x…

方位对称性+均匀分布=交叉极化和同极化不相关

这个推导是一种方为对称散射矩阵的均匀分布&#xff0c;对于多种方位对称性的散射矩阵&#xff0c;均匀分布。可以看作该模型的简单叠加。从而交叉极化和同极化不相关

PhotoZoom Classic 9.0.2中文版新功能介绍及PhotoZoom 9使用教程

PhotoZoom Classic 9.0.2中文版简介 PhotoZoom Classic 9.0.2中文版是一款新颖的、技术上具有革命性的对数码图片进行放大的工具。通常的工具对数码图片进行放大时&#xff0c;总会降低图片的品质&#xff0c;而这款软件使用了S-SPLINE技术(一种申请过专利的&#xff0c;拥有自…

Word文档的读入(3)

逐个读取答题卡后&#xff0c;我们可以访问Word文档&#xff08;Document&#xff09;中的 .paragraphs 属性&#xff0c;来获取文档中的段落列表。段落列表的组成元素是所有的段落对象&#xff0c;可以使用索引定位到指定的段落对象。 完善代码&#xff08;读取学生学号所在的…

FFmpeg 7.0 版本 “Dijkstra”的特点概述

FFmpeg 7.0 FFmpeg 官网:https://ffmpeg.org/FFmpeg 官网更新日志,2024.4.5 号发布代号"Dijkstra"的 7.0 版本的 FFmpeg,如下截图: 为什么叫 Dijkstra“Dijkstra” 指的是艾兹格戴克斯特拉(Edsger Wybe Dijkstra),他是一位荷兰计算机科学家,对计算机科学领域…

为什么Java已经不推荐使用Stack了?

为什么不推荐使用Stack Java已不推荐使用Stack&#xff0c;而是推荐使用更高效的ArrayDeque 为什么不推荐使用 性能低&#xff1a;是因为 Stack 继承自 Vector&#xff0c; 而 Vector 在每个方法中都加了锁。由于需要兼容老的项目&#xff0c;很难在原有的基础上进行优化&…

多目标优化算法求解WFG(Walking Fish Group)测试函数

WFG&#xff08;Walking Fish Group&#xff09;测试函数套件是一组用于多目标优化的基准测试问题&#xff0c;由Simon Huband, Luigi Barone, Lyndon While和Phil Hingston提出。这些测试问题旨在提供一个全面的测试平台&#xff0c;以评估多目标优化算法的性能。WFG测试集包含…

操作系统 --- 线程(Threads)概念 多线程模型 线程控制与组织

零、学习路线 一、线程的引入&#xff0c;什么是线程&#xff0c;为什么要引入线程&#xff1f; 如果说&#xff0c;在OS中引入进程的目的是为了使多个程序能并发执行&#xff0c;以提高资源利用率和系统吞吐量&#xff0c;那么&#xff0c;在操作系统中再引入线程&#xff0c…

[网鼎杯 2020 朱雀组]Nmap 历程记录

分析&#xff1a;根据题目名称知道本题肯定会涉及nmap的使用&#xff0c;访问web页面 扫描自己,发现没啥有用的信息&#xff0c;他这里每扫一个主机会把扫描信息存在一个新的文件里&#xff0c;简单试了一下传的参数&#xff0c;也没发现sql注入 这个地方提供的参数会被nmap去拼…

新版idea java_home报错 以及markdown插件无法使用

报错&#xff1a;The environment variable JAVA_HOME(with the value of does not point to a valid JVM&#xff09; 1.检查java环境发现换成jdk8 或者jdk17 都没有问题&#xff0c;但是idea还是报错 可能是由于idea界面采用新技术JCEF缺少环境&#xff0c;我的idea版本是20…