6.09-返回临时对象++.cpp

来自「Visual C++的课件」· C++ 代码 · 共 46 行

CPP
46
字号
// Listing 10.9
// operator++ returns a temporary object

#include <iostream.h>

class Counter
{
public:
	Counter();
	~Counter(){}
	int GetItsVal()const { return itsVal; }
	void SetItsVal(int x) {itsVal = x; }
	void Increment() { ++itsVal; }
	Counter operator++ ();

private:
	int itsVal;

};

Counter::Counter():
itsVal(0)
{}

Counter Counter::operator++()
{
	++itsVal;
	Counter temp;
	temp.SetItsVal(itsVal);
	return temp;
}

int main()
{
	Counter i;
	cout << "The value of i is " << i.GetItsVal() << endl;
	i.Increment();
	cout << "The value of i is " << i.GetItsVal() << endl;
	++i;
	cout << "The value of i is " << i.GetItsVal() << endl;
	Counter a = ++i;
	cout << "The value of a: " << a.GetItsVal();
	cout << " and i: " << i.GetItsVal() << endl;
	return 0;
}

⌨️ 快捷键说明

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