Person类,包括三个重载函数以及name和phone两个数据域函数
Person.h
#pragma once
#include<string>
#include<ostream>
using namespace std;
class Person
{
friend ostream &operator<<(ostream &out, Person &person); // 输出运算符重载
public:
string name;
string phone;
Person & operator=(Person &person); // 赋值运算符重载
bool operator==(Person &person); // 判断相等运算符重载
};
Person.cpp
#include "Person.h"
ostream &operator<<(ostream &out, Person &person)
{
out << person.name << "---------" << person.phone<<endl;
return out;
}
Person & Person::operator=(Person &person) // 赋值运算符重载
{
this->name = person.name;
this->phone = person.phone;
return *this;
}
bool Person::operator==(Person &person)
{
if (this->name == person.name && this->phone == person.phone)
{
return true;
}
return false;
}
Node.h 单个节点的类
#pragma once
#include "Person.h"
class Node
{
public:
Person data;
Node *next;
void printNode();
};
Node.cpp
#include "Node.h"
#include<iostream>
void Node::printNode()
{
std::cout << data << std::endl;
}
注意,这里直接输出data