问答详情
源自:4-1 线性表应用之通讯录(一)

person类 不能调用,请问什么问题?

https://img4.mukewang.com/5d3c693600014e3407870560.jpg

这里提示错误的类型,后面demo测试通过,但输出结果不对。感觉person这个类没有被调用成功。请高手指点一下啊。附上敲的代码:person.cpp


#include"Person.h"


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;

}


ostream &operator<<(ostream &out, Person &person)

{

out << person.name << "------" << person.phone << endl;

return out;

}



person.h


#ifndef PERSON_H

#define PERSON_H

#include <ostream>

#include<string>

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);



};

#endif


Node.cpp


#include"Node.h"

#include <iostream>

using namespace std;


void Node::printNode()

{

cout << data << endl;//输出重载,输出重载应用友元全局函数

}




Node.h


#ifndef COORDINATE_H

#define COORDINATE_H

#include"Person.h"

using namespace std;

class Node

{


public:

Person data;

Node *next;

void printNode();



};




#endif




demo.cpp


int main(void)

  

Node node1;

node1.data.name = "tester1";

node1.data.phone = "12345";

Node node2;

node2.data.name = "tester2";

node2.data.phone = "234567";


List* pList = new List();

pList->ListInsertTail(&node1);

pList->ListInsertTail(&node2);

pList->ListTraverse();


delete pList;

pList = NULL;


system("pause");

return 0;


提问者:慕运维3094527 2019-07-27 23:16

个回答

  • 董瘦瘦
    2020-02-15 22:46:55

    Person.h大小写没问题吧?

  • MT灬柴郡
    2019-10-22 13:08:22

    Node.h


    #ifndef COORDINATE_H

    #define COORDINATE_H

    这是什么鬼,不过影响不大