C++中的动态结构中的动态结构

Dynamic structure inside a dynamic structure in C++

本文关键字:结构 动态 C++      更新时间:2023-10-16

如何做到这一点?我知道如何创建动态结构,但是是否可以在另一个结构中拥有一个动态结构..?假设我想有一张发票,其中一个名为客户的动态结构将包括客户 ID、客户名称、项目数量,然后是包含产品描述、数量和价格的项目结构......

我将不胜感激任何样品。我不知道,我不知所措,开始筋疲力尽。让我们看看我是否可以伸出援助之手。

谢谢!

是的,你可以,我相信你可以用标准列表来实现这一点。(实际上还有许多其他方式)

class Customer
{
private:
    int ID;
    ...
    std::list<Item> items;
}   

std::list<Customer> customers;

使用项的动态数组:

class Customer
{
public:
   Customer(int size) : nItems(size)
   {
       items = new Item[nItems];
   }
   Customer(const Customer& customer) : Customer(customer.getItems())
   {
       memcpy(items, customer.getItems(), nItems);
   }
   ~Customer() {delete [] items;}
   int getNumItems() {return nItems;}
   Item *getItems() {return items;}
private:
    int ID;
    ...
    Item *items;
    int nItems;
}