/*既然使用关键字operator配合运算符++可以实现对象的自加,
那么关键字operator配合+就可实现对象相加*/
#include<iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"构造函数执行"<<endl;}//构造函数
num(int i){n=i;cout<<"带参数的构造函数执行"<<endl;}
~num(){cout<<"析构函数执行"<<endl;} //析构函数
int get() const{return n;}
void set(int x){n=x;}
const num operator+(const num&r){return num(n+r.get());}
const num &operator++()
{
++n;
return *this;
}
const num operator++(int o)//提醒编译器后加
{
num temp(*this);//调用复制构造函数,代表operate++后的当前对象
++n;
return temp;
}
private:
int n;
};
int main()
{
num one(1),two(2),three;
//three=one.add(two);
three=one+two;
cout<<"one:"<<one.get()<<endl;
cout<<"two:"<<two.get()<<endl;
cout<<"three:"<<three.get()<<endl;
return 0;
}
【c++程序】重载加法运算符operator+
最新推荐文章于 2024-08-21 17:06:07 发布