c++编写一个程序,可以管理朋友条目。所用的知识点是“继承”
时间: 2024-02-18 15:01:12 浏览: 27
好的,以下是一个简单的朋友条目管理程序,使用了继承:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 基类:朋友信息
class Friend{
public:
string name;
int age;
string phone;
Friend(string n, int a, string p){
name = n;
age = a;
phone = p;
}
void display(){
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Phone: " << phone << endl;
}
};
// 继承 Friend 类,增加地址信息
class FriendWithAddress : public Friend{
public:
string address;
FriendWithAddress(string n, int a, string p, string addr) : Friend(n, a, p){
address = addr;
}
void display(){
Friend::display();
cout << "Address: " << address << endl;
}
};
int main(){
vector<Friend*> friends;
// 添加朋友信息
friends.push_back(new Friend("Amy", 24, "123456789"));
friends.push_back(new FriendWithAddress("Bob", 30, "987654321", "123 Main St"));
friends.push_back(new Friend("Cathy", 21, "555555555"));
// 显示朋友信息
for(int i=0; i<friends.size(); i++){
friends[i]->display();
cout << endl;
}
// 释放内存
for(int i=0; i<friends.size(); i++){
delete friends[i];
}
return 0;
}
```
这个程序中,我们定义了一个基类 Friend,包含了一些朋友的基本信息。然后我们创建了一个继承自 Friend 的子类 FriendWithAddress,增加了地址信息。在主函数中,我们创建了几个朋友对象,并将它们添加到一个 vector 中。最后,我们遍历 vector,调用每个朋友对象的 display 方法来显示它们的信息。
注意到我们使用了指针数组,而不是普通数组。这是因为我们需要在程序结束时手动释放内存,以避免内存泄漏。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)