6.10-返回无名临时对象.cpp

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

CPP
49
字号
// Listing 10.10
// operator++ returns a nameless temporary object

#include <iostream.h>

class Counter
{
public:
	Counter();
	Counter(int val);
	~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(int val):
itsVal(val)
{}

Counter Counter::operator++()
{
	++itsVal;
	return Counter (itsVal);
}

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 + -
显示快捷键?