本文整理汇总了C++中Food::getIngredients方法的典型用法代码示例。如果您正苦于以下问题:C++ Food::getIngredients方法的具体用法?C++ Food::getIngredients怎么用?C++ Food::getIngredients使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Food
的用法示例。
在下文中一共展示了Food::getIngredients方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: anyRecipeReferences
bool Store::anyRecipeReferences(int id) {
vector<Food> *v = getInSortedOrder();
for (int i = 0; i < v->size(); i++) {
Food food = v->operator[](i);
if (food.isRecipe()) {
vector<int> ingredients = food.getIngredients();
for (int j = 0; j < ingredients.size(); j++) {
if (ingredients[j] == id) {
delete v;
return true;
}
}
}
}
delete v;
return false;
}
示例2: initializeFoods
void Store::initializeFoods() {
vector<Food> *foods = fileIO->load(filename);
std::cout << "size of foods: " << foods->size() << "\n";
for (int i = 0; i < foods->size(); i++) {
Food food = foods->operator[](i);
bst->insert(food);
if (food.getId() > maxId) {
maxId = food.getId();
}
numFoods++;
}
for (int i = 0; i < foods->size(); i++) {
Food food = foods->operator[](i);
if (foodWithIdExists(food.getId())) {
std::stringstream s;
s << "Food " << food.getName() << " referencing duplicate ID "
<< food.getId();
throw s.str();
}
hashBrownTable.insertItem(food.getId(), bst->get(food));
}
// check nutrients
for (int i = 0; i < foods->size(); i++) { // has to work with BST
Food food = foods->operator[](i);
if (food.isRecipe()) {
vector<int> ingredients = food.getIngredients();
vector<Food> ingredientsFood;
for (int i = 0; i < ingredients.size(); i++) {
int id = ingredients[i];
if (!foodWithIdExists(id)) {
std::stringstream s;
s << "Food " << food.getName() << " referencing invalid id " << id;
throw s.str();
} else {
ingredientsFood.push_back(getById(id));
}
}
food.calculateNutrients(ingredientsFood);
}
}
}