将循环结果访问到类的实例以进行输出 P> >好的,所以我有一个类的库存分配给我的C++类。我现在正在努力解决的是循环和对象创建之间的问题 string description = ""; int id_number{0}; int quantity_number{0}; double price_value{0}; for (int count{1}; count <= inventory_num; count++) { cout << endl; cout << "Item #" << count++ << endl; cout << "Enter the id number: "; cin >> id_number; cout << "Descriptiom: "; cin.get(); getline(cin, description); cout << "Quantity on hand: "; cin >> quantity_number; cout << "Unit price: "; cin >> price_value; cout << endl; } InventoryItem item1(id_number, description, quantity_number, price_value); InventoryItem item2(id_number, description, quantity_number, price_value); InventoryItem item3(id_number, description, quantity_number, price_value); InventoryItem item4(id_number, description, quantity_number, price_value); item1.display(); cout << endl; item2.display(); cout << endl; item3.display(); cout << endl; item4.display(); cout << endl; return EXIT_SUCCESS; } string description=”“; int id_数{0}; 整数{0}; 双倍价格_值{0}; 对于(int count{1};count
您覆盖每个循环迭代中的值。在循环之后,上一次迭代的值存储在您的变量中。您可以使用std::vector修复它将循环结果访问到类的实例以进行输出 P> >好的,所以我有一个类的库存分配给我的C++类。我现在正在努力解决的是循环和对象创建之间的问题 string description = ""; int id_number{0}; int quantity_number{0}; double price_value{0}; for (int count{1}; count <= inventory_num; count++) { cout << endl; cout << "Item #" << count++ << endl; cout << "Enter the id number: "; cin >> id_number; cout << "Descriptiom: "; cin.get(); getline(cin, description); cout << "Quantity on hand: "; cin >> quantity_number; cout << "Unit price: "; cin >> price_value; cout << endl; } InventoryItem item1(id_number, description, quantity_number, price_value); InventoryItem item2(id_number, description, quantity_number, price_value); InventoryItem item3(id_number, description, quantity_number, price_value); InventoryItem item4(id_number, description, quantity_number, price_value); item1.display(); cout << endl; item2.display(); cout << endl; item3.display(); cout << endl; item4.display(); cout << endl; return EXIT_SUCCESS; } string description=”“; int id_数{0}; 整数{0}; 双倍价格_值{0}; 对于(int count{1};count,c++,class,oop,for-loop,multiple-instances,C++,Class,Oop,For Loop,Multiple Instances,您覆盖每个循环迭代中的值。在循环之后,上一次迭代的值存储在您的变量中。您可以使用std::vector修复它 #include "InventoryItem.hpp" #include <iostream> #include <string> #include <vector> using std::cout; using std::cin; using std::endl; using std::string; using std::getline; in
#include "InventoryItem.hpp"
#include <iostream>
#include <string>
#include <vector>
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::getline;
int main() {
string description = "";
int id_number{0};
int quantity_number{0};
double price_value{0};
std::vector<InventoryItem> items;
for (int count{1}; count <= inventory_num; count++)
{
cout << endl;
cout << "Item #" << count++ << endl;
cout << "Enter the id number: ";
cin >> id_number;
cout << "Descriptiom: ";
cin.get();
getline(cin, description);
cout << "Quantity on hand: ";
cin >> quantity_number;
cout << "Unit price: ";
cin >> price_value;
cout << endl;
items.emplace_back(id_number, description, quantity_number, price_value);
}
items[0].display(); cout << endl;
items[1].display(); cout << endl;
items[2].display(); cout << endl;
items[3].display(); cout << endl;
return EXIT_SUCCESS;
}
#包括“InventoryItem.hpp”
#包括
#包括
#包括
使用std::cout;
使用std::cin;
使用std::endl;
使用std::string;
使用std::getline;
int main(){
字符串说明=”;
int id_数{0};
整数{0};
双倍价格_值{0};
向量项;
对于(int count{1};count一个变量,例如id\u number
,根据您编写它时的想法,它没有不同的值。您最近已经了解了数组或其他类型的集合。了解它们。这正是疯狂的定义,编写相同的语句4次,期望得到不同的结果;)您可能希望使用向量之类的东西在循环的每次迭代中初始化一个项目?它工作得很好,谢谢。但是我可以问一下emplace_back在这种情况下到底做了什么吗?它是否在向量的末尾插入一个新元素,就在它当前的最后一个元素之后?@FloydVu0531它在向量的末尾创建了一个新元素