栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++核心编程 14(三)递增(减)运算符重载

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++核心编程 14(三)递增(减)运算符重载

目录

递增运算符重载  前置++的效率略高于后置++,原因是前置不会调用拷贝构造

递减运算符重载


++和--对于默认数据类型编译器都知道该如何递增递减,但是对于自定义数据类型,编译器不知道该如何运算,于是需要用到重载。

递增运算符重载

        1.前置++

class MyInter
{
public:
	MyInter()
	{
		this->m_Num = 0;
	}
	//重置前置++
	MyInter& operator++()
	{
		//先++
		m_Num++;
		//后返回
		return *this;
	}
private:
	int m_Num;
};

        2.后置++

class MyInter
{
public:
	friend ostream& operator<<(ostream& cout, MyInter& myInt);
	MyInter()
	{
		this->m_Num = 0;
	}
	//重置后置++
	MyInter operator++(int)
	{
		//先返回
		MyInter temp=*this;
		//后++
		this->m_Num++;
		return temp;
	}
private:
	int m_Num;
};

递减运算符重载

        1.前置--

class MyInter
{
public:
	MyInter()
	{
		this->m_Num = 0;
	}
	//重置前置--
	MyInter& operator--()
	{
		//先--
		m_Num--;
		//后返回
		return *this;
	}
private:
	int m_Num;
};

        2.后置--

class MyInter
{
public:
	MyInter()
	{
		this->m_Num = 0;
	}
	//重置后置--
	MyInter operator--(int)
	{
		//先返回
		MyInter temp=*this;
		//后--
		this->m_Num--;
		return temp;
	}
private:
	int m_Num;
};

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号