如何使用C++编程语言设计并实现一个类结构的通讯录管理系统,包括创建类、定义对象以及相关的操作功能?
时间: 2024-12-16 18:26:24 浏览: 2
在C++中,我们可以设计一个简单的通讯录管理系统,主要包括以下几个步骤:
1. **创建类**:
首先,我们会创建一个名为`Contact`的类,它包含基本的属性如姓名、电话号码和电子邮件地址。这通常会包含私有变量和公有成员函数来保护数据和提供操作。
```cpp
class Contact {
private:
std::string name;
std::string phoneNumber;
std::string email;
public:
// 构造函数
Contact(const std::string& n, const std::string& p, const std::string& e)
: name(n), phoneNumber(p), email(e) {}
// 获取和设置方法
std::string getName() const { return name; }
void setName(const std::string& name) { this->name = name; }
std::string getPhoneNumber() const { return phoneNumber; }
void setPhoneNumber(const std::string& phoneNumber) { this->phoneNumber = phoneNumber; }
std::string getEmail() const { return email; }
void setEmail(const std::string& email) { this->email = email; }
};
```
2. **定义对象**:
现在我们可以实例化这个类来创建具体的联系人对象。
```cpp
int main() {
Contact contact1("张三", "1234567890", "zhangsan@example.com");
Contact contact2("李四", "0987654321", "lisi@example.com");
return 0;
}
```
3. **操作功能**:
我们可以添加一些公共方法来进行添加、删除、查找和更新联系人等操作。例如:
```cpp
// 添加联系人
void addContact(Contact& contactList, Contact newContact) {
contactList.push_back(newContact);
}
// 删除联系人
void deleteContact(Contact& contactList, const std::string& name) {
for (auto it = contactList.begin(); it != contactList.end(); ++it) {
if (it->getName() == name) {
contactList.erase(it);
break;
}
}
}
// 查找联系人
Contact findContact(const Contact& contactList, const std::string& name) {
for (const auto& contact : contactList) {
if (contact.getName() == name) {
return contact;
}
}
throw std::runtime_error("Contact not found.");
}
// 更新联系人信息
void updateContact(Contact& contactList, const std::string& name, const std::string& newName, const std::string& newPhoneNumber, const std::string& newEmail) {
for (auto& contact : contactList) {
if (contact.getName() == name) {
contact.setName(newName);
contact.setPhoneNumber(newPhoneNumber);
contact.setEmail(newEmail);
break;
}
}
}
// 主函数中如何使用这些方法...
```
阅读全文