本人在类里面声明 结构体成员变量,但是编译运行时始终会报错。求各位大神帮助,以下附上源代码。备注:这段代码的作用是打印出一份包含城市名字 和到这个旅游的价格的表。还要实现一个修改价格的功能
第一段是声明类的头文件
#ifndef CityList_H
#define CityList_H
#define CitySize 6
struct CityType
{
char *name;
int price;
};
class CityList
{
public:
void init();
void change_price(int price,int number);
void print_list();
CityType city[CitySize];
};
#endif
第二段是类中函数的实现还有主函数
#include "CityList.h"
#include <iostream>
using namespace std;
void CityList::init()
{
city[0].name="北京";city[0].price=3000;
city[1].name="南京";city[1].price=2500;
city[2].name="扬州";city[2].price=2400;
city[3].name="无锡";city[3].price=2000;
city[4].name="苏州";city[4].price=2200;
city[5].name="拉萨";city[5].price=3500;
}
void CityList::change_price(int price,int number)
{
city[number-1].price=price;
}
void CityList::print_list()
{
int i;
for(i=0;i<6;i++)
{
cout<<city[i].name<<' '<<city[i].price;
}
}
int main()
{
CityList a;
a.init();
a.print_list();
a.change_price(4230,3);
a.print_list();
}