demo_operator_02_1.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 51 行

CPP
51
字号

//************************************************
// 重载运算符为成员函数的不足
//************************************************

# include <iostream.h>

class Integer
{
public:
	Integer(int i=0);
	Integer(const Integer & other);
	Integer operator + (Integer other);
private:
	int value;
};

Integer::Integer(int i)
{
	value=i;
	return;
}

Integer::Integer(const Integer & other)
{
	value=other.value;
	return;
}

Integer Integer::operator + (Integer other)
{
	Integer temp;

	temp.value=value+other.value;
	return temp;
}

int main()
{
	Integer x(10);
	Integer y=x;
	Integer z;

	y=x+2;          //右操作数是int类型可以进行隐式类型转换
	y=x+Integer(2); //右操作数也可以进行显式类型转换

//	z=3+y;          //Error!左操作数不能进行隐式类型转换,必须是对象
	z=Integer(3)+y; //但左操作数可以进行显式类型转换

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?