#include<iostream>
using namespace std;
class Sample{
int n;
public:
Sample(){}
Sample(int i){n=i;}
friend Sample operator -(Sample &,Sample &);
friend Sample operator +(Sample &,Sample &);
void disp() {cout<<"n="<<n<<endl;}
};
Sample operator-(Sample &s1,Sample &s2)
{
int m=s1.n-s2.n;return Sample(m);
}
Sample operator+(Sample &s1,Sample &s2)
{int m=s1.n+s2.n;return Sample(m);}
int main()
{Sample s1(10),s2(20),s3;
s3=s2-s1;
s3.disp();
return 0;}把+设为友元不可以吗?我用的是VC6.0,是编译器的问题吗。
using namespace std;
class Sample{
int n;
public:
Sample(){}
Sample(int i){n=i;}
friend Sample operator -(Sample &,Sample &);
friend Sample operator +(Sample &,Sample &);
void disp() {cout<<"n="<<n<<endl;}
};
Sample operator-(Sample &s1,Sample &s2)
{
int m=s1.n-s2.n;return Sample(m);
}
Sample operator+(Sample &s1,Sample &s2)
{int m=s1.n+s2.n;return Sample(m);}
int main()
{Sample s1(10),s2(20),s3;
s3=s2-s1;
s3.disp();
return 0;}把+设为友元不可以吗?我用的是VC6.0,是编译器的问题吗。