参考范磊老师<<零起点学通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()