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