实验五

Person.hpp

#pragma once
#include<bits/stdc++.h>
using namespace std;
class person{
private:
     string name; string telephone; string email;
public:
    person(string c = " ", string a = "Ole", string b = "18751903576") :email(c), telephone(b), name(a) {}
    void revise_telephone ( const string a);
    void revise_email( const string a);
    friend ostream& operator<<( ostream& out, person& p);
    friend istream& operator>>( istream& in, person& p);
    friend bool operator==( person& a,  person& b);
};
View Code

Person.cpp

#include<bits/stdc++.h>
#include"person.h"
void person::revise_telephone( const string a){
    telephone = a;
}
void person::revise_email(const string a){
    email = a;
}
ostream& operator<<(ostream& out, person& a){
    out << "姓名:" << a.name << "电子邮件:" << a.email << "电话:" << a.telephone << endl;
    return out;
}
istream& operator>>(istream& in, person& a){
    in >> a.name >>a.email >> a.telephone;
    return in;
}
bool operator==(person& a, person& b){
    if ((a.name == b.name) && (a.email == b.email))return true;
    else return false;
}
View Code

main

#include<bits/stdc++.h>
#include"person.h"
using namespace std;
int main(){
        vector<person> phone_book;
        person p;
        while (cin >> p)
            phone_book.push_back(p);
        for (auto& i : phone_book)
            cout << i << endl;
        cout << boolalpha << (phone_book.at(0) == phone_book.at(1)) << endl;
        ofstream fout;//定义一个流
        fout.open("phone_book.txt");//让流与文件建立联系 
        if (!fout.is_open()) { cerr << "fail to open file phone_book.txt\n"; return 1; }//判断建立是否成功
        for (auto& i : phone_book) fout << i << endl; fout.close();//关闭联系
        return 0;
}
View Code

 

posted @ 2021-12-11 14:35  zhzhang-hong  阅读(49)  评论(1)    收藏  举报