c++ 基础知识-类和对象-运算符重载2

PyTorch实战:用FGSM攻击MNIST分类器(附可视化对比) 本文通过PyTorch实战演示了如何使用FGSM对抗攻击方法攻击MNIST手写数字分类器。文章详细解析了FGSM攻击原理,提供了从环境搭建、模型准备到攻击实施、可视化对比的完整代码实战流程,并探讨了对抗样本的生成与模型鲁棒性评估。 阅读详情

c++ 基础知识-类和对象-运算符重载2

1.赋值运算符重载

#include <iostream>  
#include <string>  
using namespace std;

class Int
{

public:
	Int(int i);//构造函数
	~Int();//析构函数
	int *m_Int;

	Int& operator=(Int &i)
	{
		//判断指针是否为空
		if (m_Int != NULL)
		{
			delete m_Int;
			m_Int = NULL;
		}
		//深拷贝
		m_Int = new int(*i.m_Int);
		return *this;
	}
};

Int::Int(int i)
{
	//深拷贝
	//开辟堆区
	m_Int = new int(i);//初始化
}

Int::~Int()
{
	//判断指针是否为空
	if (m_Int != NULL)
	{
		delete m_Int;
		m_Int = NULL;
	}
	cout<<"析构函数"<<endl;//初始化
}

void fun()
{
    Int i1(10);
	cout<<*i1.m_Int<<endl;
	Int i2(20);
	i2 = i1;//直接赋值报错,因为会重复释放指针
	cout<<*i2.m_Int<<endl;
	Int i3(40);
	i3 = i2 = i1;
	cout<<*i3.m_Int<<endl;
	
}

int main()
{
	fun();
	//输出
	//10
	//10
	//10
	//析构函数
	//析构函数
	//析构函数
	return 0;
}  

2.关系运算符重载

#include <iostream>  
#include <string>  
using namespace std;

class Int
{

public:
	Int(int i);//构造函数
	~Int();//析构函数
	int m_int;
	bool operator==(Int &i)
	{
		if (this->m_int == i.m_int)
		{
			return true;
		} 
		return false;
	}
};

Int::Int(int i)
{
	m_int = i;
}

Int::~Int()
{
	cout<<"析构函数"<<endl;//初始化
}



void fun()
{
	Int i1(23);
	Int i2(34);
	if(i1 == i2)
	{
		cout<<"Equal !!!"<<endl;
	}else{
		cout<<"No equal !!!"<<endl;
	}
}

int main()
{
	fun();
	return 0;
}  

3.函数调用运算符重载

#include <iostream>  
#include <string>  
using namespace std;

class Int
{

public:
	Int(int i);//构造函数
	~Int();//析构函数
	int m_int;
	//重载函数运算符号
	int operator()()
	{
		//cout<<i<<endl;
		return m_int;
	}
};

Int::Int(int i)
{
	m_int = i;
}

Int::~Int()
{
	cout<<"析构函数"<<endl;//初始化
}

void fun()
{
	Int i1(23);
	Int i2(34);
    cout<<i2()<<endl;
	//匿名对象
	cout<<Int(123)()<<endl;
}

int main()
{
	fun();
	return 0;
}  
Google Earth Engine——使用STARFM 图像融合算法将Landsat 和 MODIS 融合得出2000-2023 NDVI长时序图(空间分辨率为 30 米、时间分辨率为 16 天) 非本地入侵物种是全球生态系统面临的主要威胁之一。野葛(Pueraria montana)是一种生长迅速的藤本植物,原产于亚洲,现已入侵美国一些地区,因此该物种的管理成为一个重要问题。利用 Landsat 和 MODIS 平台收集的数据,计算了 2000 年至 2015 年肯塔基州三个侵扰地点的归一化差异植被指数(NDVI)估算值。使用 STARFM 图像融合算法将大地遥感卫星和 MODIS 得出的 NDVI 结合成空间分辨率为 30 米、时间分辨率为 16 天的时间序列。 阅读详情

相关推荐

告别手动!用Python+CATIA V5/V6自动生成三视图和标题栏(附完整代码)

本文详细介绍了如何利用Python和CATIA V5/V6实现工程图自动生成,包括三视图布局和标题栏填写。通过COM接口调用和智能算法,系统能自适应不同尺寸模型,大幅提升设计效率。附完整代码和部署方案,帮助团队实现从手动到自动化的转变。

weixin_42699679的博客 351

C++运算符重载(类内、外重载)

1.概念   运算符的重载,实际是一种特殊的函数重载,必须定义一个函数,并告诉C++编译器,当遇到该运算符时就调用此函数来行使运算符功能。这个函数叫做运算符重载函数(常为类的成员函数)。 2.运算符重载的基本格式    返回值类型 类名::operator重载的运算符(参数表)    {    ……    }    operator是关键字,它与重载的运算符一起构成函数名。 3.运算符重载的两种方法 1.类内重载 #include <iostream> using namespa

u014583317的博客 7万+

Win11只读模式无法关闭的终极解决方案

通过以上方法,我们应该能够解决Windows 11中文件夹无法取消只读状态的问题。如果问题仍然存在,请确保你的账户具有足够的权限来修改文件夹属性,并考虑是否有其他安全软件或策略阻止了权限更改。在操作过程中,请务必小心谨慎,避免误操作导致数据丢失或系统损坏。希望本文能够帮助到大家!

mmoo_python的博客 1万+

【C++】类和对象之操作运算符重载和日期类的实现

重载的知识和某个类的模拟实现

s_little_monster的博客 9879

耶鲁大学《博弈论》课程——逆向归纳

耶鲁大学《博弈论》课程——逆向归纳

ZYLer_的博客 7869

在昇腾910B上,用kubeadm快速拉起一个双节点K8s集群(保姆级避坑指南)

本文详细介绍了在昇腾910B服务器上使用kubeadm快速搭建双节点Kubernetes集群的完整流程,包括环境准备、容器运行时配置、kubeadm初始化、节点加入与网络插件部署等关键步骤,特别针对ARM架构和昇腾芯片提供了优化配置和避坑指南。

weixin_29204749的博客 244

C++类和对象之运算符重载

运算符重载是 C++ 的一种特性,它允许程序员为自定义类型(如类和结构体)重新定义运算符的行为。通过运算符重载,我们可以使用熟悉的运算符语法来操作自定义类型的对象,从而使代码更加简洁、直观。当运算符被⽤于类类型的对象时,C++语⾔允许我们通过运算符重载的形式指定新的含义。C++规定类类型对象使⽤运算符时,必须转换成调⽤对应运算符重载,若没有对应的运算符重载,则会编译报错。例如,我们可以为自定义的复数类重载运算符,使得两个复数对象可以直接使用// 使用重载的 + 运算符。

zzh_Zao的博客 2240

电池充电管理芯片规格书精读指南:从参数解析到设计实战

电池充电管理是嵌入式系统和便携式设备开发中的基础环节,其核心在于理解并应用充电芯片的规格参数。充电芯片通过精确控制电压、电流、温度等关键参数,实现对锂电池等可充电电池的安全、高效管理。掌握这些参数原理,对于优化产品功耗、提升充电效率、保障电池寿命具有重要技术价值,广泛应用于智能穿戴、消费电子、无人机等场景。本文聚焦于**充电电流**设定与**热管理**等核心参数,深入解析其相互影响与工程选型中的权衡,旨在帮助开发者将抽象的规格书数据转化为可靠的电路设计依据,从而有效排查充电故障,提升产品整体可靠性。

weixin_26874745的博客 664

[C++] 类和对象:运算符重载

在C++中,运算符重载是一种强大的特性,它允许我们重新定义已有的运算符,以便用于用户自定义的数据类型。通过运算符重载,我们可以使得我们自定义的类对象像内置类型一样进行运算,这为编写清晰、简洁且易于理解的代码提供了便利。

kevin_blog 1593

【SLAM】探索explore_lite在移动机器人自主建图中的高效边界检测策略

本文深入解析了explore_lite在移动机器人自主建图中的应用,重点探讨了其高效的贪婪边界检测策略。该工具包专为资源受限平台设计,通过直接利用SLAM生成的地图信息,以极低的计算开销实现快速、稳定的未知区域探索,并与move_base导航框架无缝协作,是轻量级机器人自主探索的优选方案。

purple的博客 1066

微信小程序启用蓝牙设备特征值变化时的notify功能

注意:这里的serviceUUID、notifyCharacteristicUUID 我会在后面写入数据时做重点说明。isNotifyBLECharacteristic:false, //是否启用蓝牙设备服务特征 notify。二、启用蓝牙设备特征值变化时的notify功能。下一篇 将继续介绍 微信小程序蓝牙设备写入数据。

wsk198726的专栏 1171

类和对象:运算符重载

​ 本篇文章来介绍一下C++中的运算符重载,以及与运算符重载有关的三个默认默认成员函数:赋值运算符重载,普通对象取地址与const对象取地址操作符重载,也就是下面图片中6个默认成员函数的后三个,前三个默认成员函数在之前文章中已经讲过,本篇文章主要通过一个日期类来进行讲解。我会把完整的日期类放到后面。

qq_72916130的博客 1697

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 2901

C++:运算符重载与类的赋值运算符重载函数

运算符重载

小青菜的博客 3288

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【C++】类与对象(运算符重载、const成员、取地址重载)

💬 hello!各位铁子们大家好哇。今日更新了类与对象运算符重载、const成员、取地址重载的内容。

qinjh_的博客 2517

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【C++指南】一文总结C++类和对象【中】

详解运算符重载,日期类的实现,const成员函数

egoist2023的博客 2597

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C++ 类和对象 赋值运算符重载

运算符重载是通过定义特殊的成员函数或全局函数来实现的。

m0_72625526的博客 1499

类和对象-运算符重载-C++

赋值运算符。

2401_84315007的博客 1913

【C++深入浅出】类和对象中篇(六种默认成员函数、运算符重载)

上期我们介绍了一些关于类的基础知识,学会了如何定义一个类,体会到了面向对象中封装的特征。本期我们将继续类和对象的学习,重点讨论C++类中的成员函数,例如构造函数,析构函数,拷贝构造函数,运算符重载函数,const成员函数等等。

忆梦初心的博客 1549

c++运算符重载string类

一、 运算符重载的规则  运算符重载规则如下:  ①、 C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已有的运算符。  ②、 重载之后运算符的优先级和结合性都不会改变。  ③、 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。一般来说,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。  不能重载

h674174380的博客 1万+

【c++】cpp运算符重载

c++运算符重载

hutaotaotao的博客 1886

【c++】类和对象(中)拷贝构造函数、赋值重载、运算符重载

本文详细介绍了拷贝构造函数,运算符重载与赋值重载函数以及取地址与const取地址运算符重载。

mo_sheng_sli的博客 2166

【C++】类和对象(重载运算符、const对象)

此时用户再在类外自己实现一个全局的赋值运算符重载,就和编译器在类中生成的默认赋值运算符重载冲突了,故赋值运算符重载只能是类的成员函数。运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数。一份,然后给this+1,而temp是临时对象,因此只能以值的方式返回,不能返回引用。隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。

Sakura_ding的博客 1390

【c++】类和对象(三)运算符重载、赋值运算符重载、const成员函数、取地址运算符重载

一、运算符重载 1. 概念讲解 2. 运算符重载定义在类外 3. 运算符重载定义在类里面 二、赋值运算符重载 1. 概念介绍 2. 容易混淆的拷贝构造和赋值构造 三、前置++和后置++的运算符重载 四、const成员函数 五、取地址及const取地址运算符重载

重铸自身根基的博客 1481

C++面向对象(类和对象)—— 运算符重载(对象特性、仿函数)

C++运算符重载、面向对象(类和对象)、仿函数、封装、继承、多态

2401_87692970的博客 1749

C++类和对象:运行符重载、取地址运算符重载、const 修饰的类如何作为参数

运行符重载、取地址运算符重载、const 修饰的类如何作为参数

2401_88433210的博客 1186
上一篇: c++ 基础知识-类和对象-运算符重载1
下一篇: c++ 基础知识-类和对象-继承1
xiaoliyu00
博客等级 码龄9年 4180粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值