Для создания структуры, в которой каждый элемент вектора содержит объект класса, вы можете определить структуру, содержащую вектор указателей на объекты класса. Например:
```cpp
#include <vector>
#include <iostream>
class Product {
public:
std::string name;
double price;
Product(std::string n, double p) : name(n), price(p) {}
};
struct Order {
std::vector<Product*> products;
};
int main() {
Product* p1 = new Product("Product 1", 10.50);
Product* p2 = new Product("Product 2", 20.75);
Order order;
order.products.push_back(p1);
order.products.push_back(p2);
// Выводим названия и цены товаров из заказа
for(Product* p : order.products) {
std::cout << "Product: " << p->name << ", Price: " << p->price << std::endl;
}
// Очищаем память
delete p1;
delete p2;
return 0;
}
```
В данном примере структура Order содержит вектор указателей на объекты класса Product. При создании нового продукта он добавляется в вектор продуктов заказа. В конце программы освобождается память для каждого объекта Product.
Таким образом, структура заказа содержит вектор товаров, которые могут быть созданы и добавлены к заказу во время выполнения программы.