
C++.阅读程序,写出运行结果,急求大神。
#include"iostream.h"classSample{private:intx;public:Sample(){}Sample(inta){x=a;}voidd...
#include "iostream.h"
class Sample{
private: int x;
public : Sample( ){ }
Sample(int a ){x=a;
}
void
disp(){cout<<"x="<<x<<endl;}
Sample
operator+(Sample &);
friend Sample operator-(Sample &,Sample &);
};
Sample Sample ::operator+(Sample
&s){return Sample(x+s.x); }
Sample operator-(Sample &s1,Sample
&s2){return Sample(s1.x-s2.x); }
void main(){ Sample obj1(5),obj2(10),obj3;
obj3=obj1+obj2;
obj3.disp(); (obj1-obj2).disp();
} 展开
class Sample{
private: int x;
public : Sample( ){ }
Sample(int a ){x=a;
}
void
disp(){cout<<"x="<<x<<endl;}
Sample
operator+(Sample &);
friend Sample operator-(Sample &,Sample &);
};
Sample Sample ::operator+(Sample
&s){return Sample(x+s.x); }
Sample operator-(Sample &s1,Sample
&s2){return Sample(s1.x-s2.x); }
void main(){ Sample obj1(5),obj2(10),obj3;
obj3=obj1+obj2;
obj3.disp(); (obj1-obj2).disp();
} 展开
1个回答
展开全部
x=15
x=-5
obj1+obj2调用Sample成员函数中得加号运算符的重载函数,返回以obj1x的值与obj2x的值的和作为参数调用Sample的构造函数创建的临时对象。
而obj1-obj2调用减号运算符的重载函数,返回以obj1x的值与obj2x的值的差作为参数调用Sample的构造函数创建的临时对象。
x=-5
obj1+obj2调用Sample成员函数中得加号运算符的重载函数,返回以obj1x的值与obj2x的值的和作为参数调用Sample的构造函数创建的临时对象。
而obj1-obj2调用减号运算符的重载函数,返回以obj1x的值与obj2x的值的差作为参数调用Sample的构造函数创建的临时对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询