码迷,mamicode.com
首页 > 编程语言 > 详细

网易云课堂_C++开发入门到精通_章节4:运算符重载

时间:2016-12-19 21:56:27      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:strcpy   引用   str   精通   成员   blog   let   his   public   

 

课时23运算符重载

 

运算符重载

重载赋值运算符

 

	Person& Person::operator=(const Person& other)
	{
		//检查自赋值
		if (this == &other)
		{
			return *this;
		}
		//释放原有的内存资源
		delete[]m_data;

		int length = strlen(other.m_data);
		m_data = new char[length + 1];
		strcpy(m_data, other.m_data);
		//返回本对象的引用
		return *this;
	}

 

课时25自增运算符重载

 

运算符重载

前增量与后增量的区别

使用前增量时,对对象(操作数)进行增量修改,然后再返回该对象

使用后增量时,必须在增量之前返回原有的对象值

 

class Increase
{
public:
	Increase(int x) :value(x)
	{

	}
	Increase& operator ++();//前增量
	Increase operator ++(int);//后增量
private:
	int value;
};

 

++的成员形式的重载

 

Increase& Increase::operator ++()//前增量
{
	value++;//先增量
	return *this;//再返回有对象
}

Increase Increase::operator ++(int)//后增量
{
	Increase temp(*this);//临时对象存放原有对象值
	value++;//原有对象增量修改
	return temp;//返回原有对象值
}

 

网易云课堂_C++开发入门到精通_章节4:运算符重载

标签:strcpy   引用   str   精通   成员   blog   let   his   public   

原文地址:http://www.cnblogs.com/denggelin/p/6200542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!