如何c++编写类名:Map 地图信息列表,即线性表类 私有数据成员: (1) cities //City类型指针,即线性表的 每个元素是一个城市的信息记录。数组相当于Cities[maxCounter]。(2) curCounter //现有城市记录数,整型量 (3) maxCounter //线性表最大长度,整型量 公有成员函数: (1) Map(int maxc=10); //构造函数,初始化城市信息列表,即动态申请线性表空间 (2) Map(Map Sm); //拷贝构造函数,Map类型作为函数参数类型时,正确处理参数传递 (3)~Map(); //析构函数,释放线性表空间 (4) double Distance(int x1, int y1, int x2, int y2); //计算两个坐标点之间的距离 (5) void AddCity( int num, char * na, int x,int y); //增加一个城市信息,输入城市坐标、城市编号和城市 名称 (6)void DeleteCity( int num); //根据城市编号删除城市信息 (7) void SaveCity( ); //保存城市信息进入文件 (8) void ReadCity(); //读取文件中的城市信息 (9) void UpdateCity(int num); //根据城市编号修改城市信息 (10) int FindCity(int num); //根据城市编号查询城市信息 (11) void ShowCities(); //显示全部城市信息 (12) int GetCurCounter(); //读取当前城市数量 (13) int GetPostionX(int num); //根据城市编号读取城市坐标 x (14) int GetPostionY(int num); //根据城市编号读取城市坐标 y (15) void ShowCity(int num); //根据城市编号显示对应的城市信息(16).…... //可根据需要添加其他公有函数接口
时间: 2024-01-21 22:01:53 浏览: 75
可以这样编写:
```c++
class Map {
private:
City* cities; //City类型指针,即线性表的每个元素是一个城市的信息记录
int curCounter; //现有城市记录数,整型量
int maxCounter; //线性表最大长度,整型量
public:
Map(int maxc = 10) {
maxCounter = maxc;
cities = new City[maxCounter]; //动态申请线性表空间
curCounter = 0;
}
Map(const Map& Sm) {
maxCounter = Sm.maxCounter;
cities = new City[maxCounter];
curCounter = Sm.curCounter;
for (int i = 0; i < curCounter; i++) {
cities[i] = Sm.cities[i];
}
}
~Map() {
delete[] cities; //释放线性表空间
}
double Distance(int x1, int y1, int x2, int y2) {
//计算两个坐标点之间的距离,这里只提供函数接口,具体实现留给读者自行完成
}
void AddCity(int num, char* na, int x, int y) {
//增加一个城市信息,输入城市坐标、城市编号和城市名称,这里只提供函数接口,具体实现留给读者自行完成
}
void DeleteCity(int num) {
//根据城市编号删除城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
void SaveCity() {
//保存城市信息进入文件,这里只提供函数接口,具体实现留给读者自行完成
}
void ReadCity() {
//读取文件中的城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
void UpdateCity(int num) {
//根据城市编号修改城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
int FindCity(int num) {
//根据城市编号查询城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
void ShowCities() {
//显示全部城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
int GetCurCounter() {
return curCounter;
}
int GetPostionX(int num) {
//根据城市编号读取城市坐标 x,这里只提供函数接口,具体实现留给读者自行完成
}
int GetPostionY(int num) {
//根据城市编号读取城市坐标 y,这里只提供函数接口,具体实现留给读者自行完成
}
void ShowCity(int num) {
//根据城市编号显示对应的城市信息,这里只提供函数接口,具体实现留给读者自行完成
}
//其他成员函数的实现
};
```
其中,构造函数、拷贝构造函数和析构函数用来管理动态申请的内存空间,其他公有成员函数根据题目需求进行实现。
阅读全文