阅读下列说明、图和c++代码。[说明]某订单管理系统的部分UML类图如下图所示。上图中,Product表示产品,ProductList表示产品目录,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。请完善类Order的成员函数getOrderedAmount()和类SalesSystem的stafistic()方法,各个类的属性及部分方法定义参见下面的C++代码。[C++代码]class Product { //产品private:string pid; //产品识别码string description; //产品描述double price; ///产品单价public:void setProductPrice(double price); //设置产品单价string getProduetld(); //获取产品识别码string getProduetDescriprion 0; //获取产品描述double getProductPrice0; //获得产品单价//其他成员省略};class ProductList { //产品列表类private:vector <Product> products;public:ProductList();Product getProductBylndex(int i); //获得产品列表中的第i件产品void addProduct(Product t); //在产品列表中加入一件产品Product * getProductByID(string pid); //获得识别码为pid的产品指针unsigned iht getProductAmount(); //获得产品列表中的产品娄量};class OrderItem { //订单条目类private:Product *productPtr; //指向被订购产品的指针int quantity; //订购数量public:OrderItem (Product *,iht);Product * getProductptr O; //获得指向被订购产品的指针int getQuantity (); //获取被订刚强产品数量};class Order { //订单类private:unsigned int orderid; //订单识别号vector<Orderltem> items; //订单内容(订单项)public:Order(unsigned int orderid); //获得识别码为fid的产品在当前订单中被订购的数量int getOrderedAmount(string fid);void additem(Product *productPtr,unsigned int n); //在订单中增加一个订单项};class OrderList { //订单列表类private:vector<Order> orders;
阅读下列说明、图和c++代码。
[说明]
某订单管理系统的部分UML类图如下图所示。
上图中,Product表示产品,ProductList表示产品目录,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。
请完善类Order的成员函数getOrderedAmount()和类SalesSystem的stafistic()方法,各个类的属性及部分方法定义参见下面的C++代码。
[C++代码]
class Product { //产品
private:
string pid; //产品识别码
string description; //产品描述
double price; ///产品单价
public:
void setProductPrice(double price); //设置产品单价
string getProduetld(); //获取产品识别码
string getProduetDescriprion 0; //获取产品描述
double getProductPrice0; //获得产品单价
//其他成员省略
};
class ProductList { //产品列表类
private:
vector <Product> products;
public:
ProductList();
Product getProductBylndex(int i); //获得产品列表中的第i件产品
void addProduct(Product t); //在产品列表中加入一件产品
Product * getProductByID(string pid); //获得识别码为pid的产品指针
unsigned iht getProductAmount(); //获得产品列表中的产品娄量
};
class OrderItem { //订单条目类
private:
Product *productPtr; //指向被订购产品的指针
int quantity; //订购数量
public:
OrderItem (Product *,iht);
Product * getProductptr O; //获得指向被订购产品的指针
int getQuantity (); //获取被订刚强产品数量
};
class Order { //订单类
private:
unsigned int orderid; //订单识别号
vector<Orderltem> items; //订单内容(订单项)
public:
Order(unsigned int orderid); //获得识别码为fid的产品在当前订单中被订购的数量
int getOrderedAmount(string fid);
void additem(Product *productPtr,unsigned int n); //在订单中增加一个订单项
};
class OrderList { //订单列表类
private:
vector<Order> orders;