h511180670 2016-10-03 07:30 采纳率: 0%
浏览 923

菜鸟求教一个关于类的初始化问题

本人在类里面声明 结构体成员变量,但是编译运行时始终会报错。求各位大神帮助,以下附上源代码。备注:这段代码的作用是打印出一份包含城市名字 和到这个旅游的价格的表。还要实现一个修改价格的功能

第一段是声明类的头文件

 #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();
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2016-10-03 07:45
    关注

    struct CityType
    {
    string name;
    int price;
    };

    http://codepad.org/UUb61JzT
    北京 3000南京 2500扬州 2400无锡 2000苏州 2200拉萨 3500北京 3000南京 2500扬州 4230无锡 2000苏州 2200拉萨 3500

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题