用c++编写校园导游系统
时间: 2023-12-24 13:03:15 浏览: 61
好的,以下是一个简单的校园导游系统的 C++ 代码示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 地点类
class Location {
public:
Location(string name, string desc) : name(name), desc(desc) {}
string getName() const { return this->name; }
string getDesc() const { return this->desc; }
private:
string name;
string desc;
};
// 路线类
class Route {
public:
Route(string name, vector<Location*> stops) : name(name), stops(stops) {}
string getName() const { return this->name; }
vector<Location*> getStops() const { return this->stops; }
private:
string name;
vector<Location*> stops;
};
// 导游类
class TourGuide {
public:
TourGuide(string name, vector<Route*> routes) : name(name), routes(routes) {}
string getName() const { return this->name; }
vector<Route*> getRoutes() const { return this->routes; }
private:
string name;
vector<Route*> routes;
};
int main() {
// 创建地点
Location* loc1 = new Location("图书馆", "这是校园中最大的图书馆");
Location* loc2 = new Location("教学楼", "这里是学生上课的地方");
Location* loc3 = new Location("食堂", "这里提供美食");
// 创建路线
vector<Location*> stops1 = { loc1, loc2, loc3 };
Route* route1 = new Route("校园环线", stops1);
// 创建导游
vector<Route*> routes = { route1 };
TourGuide* guide = new TourGuide("小明", routes);
// 输出导游信息
cout << "导游姓名:" << guide->getName() << endl;
cout << "路线:" << endl;
for (auto route : guide->getRoutes()) {
cout << route->getName() << endl;
cout << "停靠地点:" << endl;
for (auto stop : route->getStops()) {
cout << stop->getName() << " - " << stop->getDesc() << endl;
}
}
// 释放内存
delete loc1;
delete loc2;
delete loc3;
delete route1;
delete guide;
return 0;
}
```
上面的代码创建了一个简单的校园导游系统,包括地点、路线和导游三个类。在 `main` 函数中,创建了一个导游对象,并输出了导游的姓名和路线信息。值得注意的是,在程序结束时,需要手动释放内存以避免内存泄漏。