有关stl问题的求助,应该比较简单,各位看看吧,就两个函数不会写
stl练习模拟网上交易系统的中购物车;
要求实现下述两个类的成员函数,并且利用下面的main程序进行测试。
我前面的成员函数都已经写好了,就是Cart类里面的print()函数不知道怎么写,请问怎么在Cart类中调用Order类中的成员函数print(),且用stl?还有Cart类中的del函数,它要判断商品编号就得访问Order类中的私有成员,这个怎么实现?
本题目用Order模拟用户的订单,用Cart模拟用户的购物车;具体声明如下:
class Order//描述订单
{
public:
Order(int gid, int gnum);//构造函数;
void print();//显示订购的商品编号: 数量
bool operator == (int gid);//判断当前商品编号是否与参数gid相同,相同返回true,否则返回false
private:
int goods_id; //商品编号
int goods_number;//商品数量
};
class Cart//描述购物车, 存储了多了产品的订单
{
public:
void add(Order* or);//增加一个订单
void print();//显示所有订单信息
bool del(int gid); //如果有商品编号为gid的订单就删除,并返回true,否则返回false
private:
list l_goods;//存储了多了产品的订单
};
void main()
{
Cart c;
int n,i;
int gid,gnum;
cout << "你要订购多少商品" <<endl;
cin >> n;
//测试 Cart::add方法
cout << "测试 Cart::add方法---------------" << endl;
for(i = 0;i<n;i++)
{
cout << "请输入第"<< i+1 <<"个订单信息"<<endl;
cin >> gid >> gnum;
c.add(new Order(gid,gnum));
}
//测试Cart::print方法
cout << "你的订单信息如下"<<endl;
c.print();
//测试Cart::del方法
cout <<"测试Cart::del方法, 请输入要删除的订单的产品编号"<<endl;
cin >> gid;
c.del(gid);
cout <<"现在你的订单信息如下"<<endl;
c.print();
}
[ 本帖最后由 hhcxx2006 于 2013-7-2 20:15 编辑 ]