通讯录怎么写,C++

 

参考GPT和自己的思路:

针对您的问题,通讯录可以使用 C++ 中的类来实现,主要包括以下几个方面的功能:添加联系人、显示所有联系人、查找联系人、删除联系人等。可以定义一个类 Contact 来表示联系人,包含姓名、电话号码等基本信息,然后使用容器来存储所有联系人。具体实现细节可以参考下面的代码:

#include <iostream>
#include <string>
#include <vector>

class Contact {
    std::string name_;
    std::string phone_;
  public:
    Contact(const std::string& name, const std::string& phone)
        : name_(name), phone_(phone) {}
    std::string name() const { return name_; }
    std::string phone() const { return phone_; }
};

class AddressBook {
    std::vector<Contact> contacts_;
  public:
    void add_contact(const Contact& contact) {
        contacts_.push_back(contact);
    }
    void display_all() const {
        for (const auto& contact : contacts_) {
            std::cout << contact.name() << ' ' << contact.phone() << '\n';
        }
    }
    void find_contact(const std::string& name) const {
        for (const auto& contact : contacts_) {
            if (contact.name() == name) {
                std::cout << contact.phone() << '\n';
                return;
            }
        }
        std::cout << "Contact not found!\n";
    }
    void remove_contact(const std::string& name) {
        for (auto it = contacts_.begin(); it != contacts_.end(); ++it) {
            if (it->name() == name) {
                contacts_.erase(it);
                return;
            }
        }
    }
};

int main() {
    AddressBook address_book;
    address_book.add_contact(Contact("Tom", "123456"));
    address_book.add_contact(Contact("Jerry", "234567"));
    address_book.add_contact(Contact("Alice", "345678"));
    address_book.display_all();
    address_book.find_contact("Tom");
    address_book.remove_contact("Jerry");
    address_book.display_all();
    return 0;
}

以上代码仅作参考,实际应用中还需要考虑更多的功能和细节,如输入检查、数据保存等。希望能对您有所帮助!