用C++中的类,继承写一个通讯录管理系统程序
时间: 2024-04-28 16:21:50 浏览: 104
好的,我可以帮你解答这个问题。
首先,我们可以定义一个Person类来表示通讯录中的每个联系人,包含姓名、电话号码和电子邮件地址等信息。代码如下所示:
```cpp
class Person {
public:
Person(string name, string phone, string email)
: name_(name), phone_(phone), email_(email) {}
string GetName() const { return name_; }
string GetPhone() const { return phone_; }
string GetEmail() const { return email_; }
void SetPhone(string phone) { phone_ = phone; }
void SetEmail(string email) { email_ = email; }
private:
string name_;
string phone_;
string email_;
};
```
然后,我们可以定义一个AddressBook类来管理通讯录,包括添加联系人、删除联系人、查找联系人等功能。代码如下所示:
```cpp
class AddressBook {
public:
AddressBook() {}
void AddPerson(const Person& person) {
persons_.push_back(person);
}
void RemovePerson(const string& name) {
for (auto it = persons_.begin(); it != persons_.end(); ++it) {
if (it->GetName() == name) {
persons_.erase(it);
break;
}
}
}
Person FindPerson(const string& name) const {
for (auto& person : persons_) {
if (person.GetName() == name) {
return person;
}
}
return Person("", "", "");
}
private:
vector<Person> persons_;
};
```
最后,我们可以在主函数中使用AddressBook类来操作通讯录,例如添加联系人、删除联系人、查找联系人等。代码如下所示:
```cpp
int main() {
AddressBook address_book;
// 添加联系人
address_book.AddPerson(Person("张三", "13312345678", "zhangsan@qq.com"));
address_book.AddPerson(Person("李四", "13987654321", "lisi@qq.com"));
// 删除联系人
address_book.RemovePerson("李四");
// 查找联系人
Person person = address_book.FindPerson("张三");
if (person.GetName() != "") {
cout << "姓名:" << person.GetName() << endl;
cout << "电话:" << person.GetPhone() << endl;
cout << "邮箱:" << person.GetEmail() << endl;
} else {
cout << "未找到该联系人!" << endl;
}
return 0;
}
```
以上就是用C++中的类,继承写一个通讯录管理系统程序的基本思路和实现方法。
阅读全文