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

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

 

课时23运算符重载

 

运算符重载

重载赋值运算符

 

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

		int length = strlen(other.m_data);
		m_data = http://www.mamicode.com/new char[length + 1];>

 

课时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:运算符重载