/*
02.2.*Copyright(c) 2016.烟台大学计算机与控制工程学院
03.3.*ALL rights reserved.
04. 4.*文件名称:main.cpp
05. 5.*作者:孙亚茹
06.6.*完成日期:2016年5月24日
07.7.*问题描述:阅读程序,写出运行结果。
08.8.*/
#include <iostream>
using namespace std;
class Sample
{
private:
int x;
public:
Sample () { }
Sample(int a){x=a;}
void disp(){cout<<"x="<<x<<endl;}
Sample operator+( Sample &s);
};
Sample Sample:: operator+( Sample &s)
{
return Sample(x+s.x);
}
int main()
{
Sample obj1(20);
Sample obj2(20);
Sample obj3;
obj3=obj1+obj2;
obj3.disp();
return 0;
}
总结:
运算符重载中若用友元函数则两个对象为两个形参,若用构造函数则只有一个形参,另一个为现有的对象,另外两个变量相加时的前后顺序有严格要求,位置不能颠倒。