在做关于链表的应用通讯录时有对象与对象的比较,故需要将“=”重载。
参考:http://www.runoob.com/cplusplus/cpp-overloading.html
重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
Box operator+(const Box&);
声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果我们定义上面的函数为类的非成员函数,那么我们需要为每次操作传递两个参数,如下所示:
Box operator+(const Box&, const Box&);
person.cpp中 <<, =,==的重载,并理解this指针
//person.cpp中 <<, =,==的重载
ostream &operator<<(ostream &out, person &person)
{
out << person.phone_num << "---------" << person.phone_num << endl;
return out;
}
person &person::operator=( person &person)
{
this->name = person.name;
this->name = person.phone_num;
return *this;
}
bool person::operator==( person &person)//比较
{
if (this->name==person.name && this->phone_num==person.phone_num)
{
return true;
}
return false;
}
下面是几种链表结构
单链表
双链表
循环链表