您的位置:首页 > 编程语言 > C语言/C++

C++ 后置运算符重载 180P

2013-01-26 12:28 169 查看
参考范磊老师<<零起点学通C++>> 180P

#include <iostream>

using namespace std;

class num
{
public:
	num(){n = 0;cout<<"num()"<<endl;}
	num(int i){n = i;cout<<"num("<<i<<")"<<endl;}

	num(const num &m){cout<<"num(&)"<<endl;n = m.n;}
	~num(){cout<<"~num()"<<endl;}
	int get()const{return n;}

	num operator+(num &r){ cout<<"operator +"<<endl;return num(n+r.get());}
private:
	int n;
};

int main()
{
	num one(1),two(2),three;
	cout<<"--------------------"<<endl;
	three = one + two;
	cout<<"++++++++++++++++++++"<<endl;
	cout<<" one : "<<one.get()<<endl;
	cout<<" two : "<<two.get()<<endl;
	cout<<" three : "<<three.get()<<endl;
	return 0;
}


result:

num(1)

num(2)

num()

--------------------

operator +

num(3)

~num()

++++++++++++++++++++

one : 1

two : 2

three : 3

~num()

~num()

~num()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: