#include <iostream>
using namespace std;
class Stu
{ //声明友元函数
// friend const Stu operator*(const Stu &L,const Stu &R);
friend bool operator==(const Stu &L,const Stu &R);
friend Stu &operator*=( Stu &L,const Stu &R);
private:
int a;
int b;
public:
Stu(){}
Stu(int a,int b):a(a),b(b)
{}
//成员函数对*重载
const Stu operator*(const Stu &R) const
{
Stu temp;
temp.a=a*R.a;
temp.b=b*R.b;
return temp;
}
//成员寒素对==重载
// bool operator==(const Stu &R) const
// {
// if(a==R.a && b==R.b)
// return true;
// else
// return false;
// }
//成员函数对*=重载
// Stu &operator*=(const Stu &R)
// {
// a*=R.a;
// b*=R.b;
// return *this;
// }
void show()
{
cout << "a = " << a << " b = " << b << endl;
}
};
//全局寒素对*重载
//const Stu operator*(const Stu &L,const Stu &R)
//{
// Stu temp;
// temp.a=L.a*R.a;
// temp.b=L.b*R.b;
// return temp;
//}
//全局寒素对==重载
bool operator==(const Stu &L,const Stu &R)
{
if(L.a==R.a && L.b==R.b)
return true;
else
return false;
}
//全局寒素对*=重载
Stu &operator*=( Stu &L,const Stu &R)
{
L.a*=R.a;
L.b*=R.b;
return L;
}
int main()
{
Stu s1(10,20);
Stu s2(10,20);
// *
Stu s3=s1*s2;
s3.show();
// Stu s4=s1*s2;
// s4.show();
//==
if(s1 == s2)
cout << "s1 == s2" << endl;
//*=
s1*=s1;
s1.show();
return 0;
}
12.1作业
于 2023-12-01 17:35:09 首次发布