c++通讯录 用面向对象实现
时间: 2024-03-14 09:43:17 浏览: 14
好的,让我们来实现一个简单的通讯录,用面向对象的方式实现。
首先,我们需要一个联系人类,它应该有姓名、电话号码等基本信息。我们可以这样定义一个联系人类:
```cpp
class Contact {
public:
Contact(const string& name, const string& phone) : name_(name), phone_(phone) {}
string name() const { return name_; }
string phone() const { return phone_; }
private:
string name_;
string phone_;
};
```
接下来,我们需要一个通讯录类,它应该能添加、删除、查找联系人等操作。我们可以这样定义一个通讯录类:
```cpp
class AddressBook {
public:
void AddContact(const Contact& contact) { contacts_.push_back(contact); }
void RemoveContact(const string& name) {
for (auto it = contacts_.begin(); it != contacts_.end(); ++it) {
if (it->name() == name) {
contacts_.erase(it);
return;
}
}
}
Contact FindContact(const string& name) const {
for (const auto& contact : contacts_) {
if (contact.name() == name) {
return contact;
}
}
return Contact("", "");
}
private:
vector<Contact> contacts_;
};
```
现在,我们可以在主函数中使用这些类来实现一个简单的通讯录程序:
```cpp
int main() {
AddressBook address_book;
address_book.AddContact(Contact("Tom", "123456789"));
address_book.AddContact(Contact("Jerry", "987654321"));
address_book.RemoveContact("Tom");
Contact jerry = address_book.FindContact("Jerry");
cout << jerry.name() << " " << jerry.phone() << endl;
return 0;
}
```
这样,我们就用面向对象的方式实现了一个简单的通讯录程序。