标题:友元函数与运算符重载
关键词:运算符重载
内容:
A今日完成情况
用友元函数重载一元运算符
关键词:运算符重载
内容:
A今日完成情况
1. 一元运算符重载60%
B具体内容
用成员函数重载一元运算符
#include<iostream>
using namespace std;
class A{
int m,n;
public:
A(int x=0,int y=0)
{m=x;n=y;
}
A operator++(int);
void print()
{cout<<"m="<<m<<"\tn="<<n<<'\n';
}
};
A A::operator++(int){
A t=*this;
++m;
++n;
return t;
}
int main()
{
A a1(1,2),a2(10,20),a3,a4;
a3=++a1;
a4=a2++;
cout<<"a1:\t";a1.print();
cout<<"a3:\t";a3.print();
cout<<"a2:\t";a2.print();
cout<<"a4:\t";a4.print();
}
用友元函数重载一元运算符
#include<iostream>
using namespace std;
class A{
int m,n;
public:
A(int x=0,int y=0)
{m=x;n=y;
}
friend A operator--(A &t)
{
--t.m;
--t.n;
return t;
}
friend A operator--(A &t,int);
void print()
{
cout<<"m="<<m<<"\tn="<<n<<'\n';
}
};
A operator--(A &t,int)
{
A temp=t;
--t.m;
--t.n;
return temp;
}
int main()
{
A a1(1,2),a2(10,20),a3,a4;
a3=--a1;
a4=a2--;
cout<<"a1:\t";a1.print();
cout<<"a3:\t";a3.print();
cout<<"a2:\t";a2.print();
cout<<"a4:\t";a4.print();
}
C明日计划
A 类型转换运算符重载
B 二元运算符重载