demo_operator_02_2.cpp

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

CPP
51
字号

//************************************************
// 重载运算符为友元函数的优点
//************************************************

# include <iostream.h>

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

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

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

Integer operator + (Integer left,Integer right)
{
	Integer temp;

	temp.value=left.value+right.value;
	return temp;
}

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

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

	z=3+y;          //左操作数可以进行隐式类型转换
	z=Integer(3)+y; //左操作数也可以进行显式类型转换

	return 0;
}

⌨️ 快捷键说明

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