1.重载操作符
1)重载操作符是一些函数,其名字为operator后面跟上需要重载的操作符名称,例如operator=,
2)和普通函数一样,操作符重载函数有一个返回值和一个形参列表,形参数量和操作符的操作数相同,例如=号有两个操作数
3)如果操作符是一个成员,则默认的第一个参数时this。
2.赋值操作符
1)赋值操作符,有两个形参。第一个操作数是左操作数,第二个形参是右操作数
2)赋值操作符的返回值和参数都是本身的引用
3实例:
#include <iostream>
#include <string>
using namespace std;
class A
{
private:
int pid;
string name;
int age;
public:
A(){};
A(int pid, string name, int age) :pid(pid), name(name), age(age){};
void display();
A& operator=(const A &a);
};
A& A::operator=(const A &a)
{
pid = a.pid;
name = a.name;
age = a.age;
return *this;
}
void A::display()
{
cout << pid << "," << name << "," << age << endl;
}
int main()
{
A a;
A a2(1,"tom",20);
a = a2;//a=a.operator(const &a2)
a.display();
system("pause");
return 0;