所以我创建了一个包含产品对象的向量。该产品有一个 int ID、字符串制造商和字符串产品名称。假设我通过这样做存储了一些产品
vector<product*>productlist;
Product*p = new Product(123, "Sony", "C vaio laptop")
Product*p1 = new Product(1234, "LG", "D 54 inch TV")
Product*p2 = new Product(1235, "Lays", "A potato chips")
productlist.push_back(p);
productlist.push_back(p1);
productlist.push_back(p2);
我有一个名为 getproductname(){return productname;} 的方法,可用于获取产品名称,并且可以对产品名称进行排序,但之后我不知道如何继续,因为我不知道如何打印整个按产品名称的字母顺序排列对象。
现在我想按产品名称的字母顺序对 3 种产品进行 排序/打印。我该怎么做(排序部分)?样本输出:
产品按字母顺序排序
产品编号1:1235
产品制造商:莱士
产品名称:薯片//名称以A开头,所以它是第一个输出
产品 ID2:123
产品制造商:索尼
产品名称:C vaio 笔记本电脑
产品 ID3:1234
产品制造商:LG
产品名称:D 54寸电视//名称以D开头所以是最后一个
我试过插入 sort(productlist.begin(), productlist.end());但它只适用于带有字符串的向量而不是对象。
一开始问的问题太模糊/简单。已编辑!
原文由 J.Will 发布,翻译遵循 CC BY-SA 4.0 许可协议
您也可以使用 lambda 实现