本文整理汇总了C++中Food::getId方法的典型用法代码示例。如果您正苦于以下问题:C++ Food::getId方法的具体用法?C++ Food::getId怎么用?C++ Food::getId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Food
的用法示例。
在下文中一共展示了Food::getId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addFood
bool Store::addFood(Food food) {
if (food.getId() != getNextId()) {
throw "Food has invalid id #";
return false;
}
bst->insert(food);
hashBrownTable.insertItem(food.getId(), bst->get(food));
numFoods++;
maxId++;
return true;
}
示例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);
}
}
}
示例3: nodeFoodAsString
string nodeFoodAsString(BSTNode<Food> *node, string bef) {
stringstream stream;
Food food = node->getData();
stream << bef << food.getId() << " " << food.getName();
return stream.str();
}