【问题标题】:How to store <map> in <vector>?如何将 <map> 存储在 <vector> 中?
【发布时间】:2013-11-30 20:55:43
【问题描述】:

需要你的帮助。 假设我有 2 个类:class Categoryclass Product

这里是它的实现

    class Category
    {
        private:
           string _category Name;
           vector<string> _categoryVector;
        public:
           void Add()
           {
            cout << "\n=== ADD <CATEGORY> ===" << endl;
            cout << "\nEnter <Category> Name: ";
            cin >> _categoryName;
            _categoryVector.push_back(_categoryName);
           };
    }

class Product
{
   private:
      string _productName;
      double _productPrice;
      map<string, double> _productMap;
   public:
      void Add()
      {
         cout << "\n=== ADD <PRODUCT> ===" << endl;

         cout <<"\nEnter <Product> Name: ";
         cin >> _productName;
         cout << "\nEnter <Product> Price: ";
         cin >> _productPrice;
         _productMap.insert(pair<string, double>(_productName, _productPrice));         
       };
}

void main()
{
   Category c;
   c.Add();
   c.Add();

   Product p;
   p.Add();
   p.Add();

   system("pause");
}

我想将 Product 存储在 Category 中。在这个程序中做一些逻辑。

可以这样做吗?

谢谢。

【问题讨论】:

  • 非常混乱。 “产品”类的对象包含产品名称到产品价格的映射。 “类别”类的对象包含类别名称的向量。把一个放在另一个里面不会给这个程序增加逻辑。

标签: c++ list templates map stl


【解决方案1】:

我不明白你在你的程序中想要什么,但是 如果您只想将map 存储在vector 中,请使用关注:

std::vector<std::map<std::string, double> >

【讨论】:

    猜你喜欢
    • 2016-01-12
    • 2021-09-13
    • 1970-01-01
    • 2013-09-23
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    相关资源
    最近更新 更多