Есть класс Флешка с полями фирма, тип, память, количество и дата производства
//...
private:
string _firm;
string _type;
int _memoryGB;
int _quantity;
string _date;
};
Есть класс Список флешек
class FlashList
{
public:
FlashList(vector<Flashka> list);
//...
private:
vector<Flashka> _list;
};
Нужна функция для сортировки флешек по названию фирмы
//...
vector<Flashka> FirmSort(string firm)
{
vector<Flashka> result;
for (auto i = 0; i < _list.size(); ++i)
if (firm == _list[i].getFirm())
result.push_back(_list[i]);
return result;
}
Использую гугл-тесты
TEST(FlashList, Sort)
{
Flashka a("HP", "NOR", 32, 56, "21.11.2017");
Flashka b("HP", "NAND", 64, 48, "01.11.2017");
Flashka c("Kingston", "NOR", 16, 24, "02.11.2017");
Flashka d("Transcend", "NAND", 16, 48, "21.11.2017");
vector<Flashka> v;
v.push_back(a);
v.push_back(b);
v.push_back(c);
v.push_back(d);
FlashList List(v);
vector<Flashka> trew;
trew.push_back(a);
trew.push_back(b);
EXPECT_TRUE(trew == List.FirmSort("HP"));
}
выдаёт следующее
как побороть?
Ваша функция реализует стандартный (правда, только начиная с C++11) алгоритм copy_if. Там же и пример. В котором, правда, преждевременная оптимизация - вектор-приемник создатся со стартовым размером, потом обрезается, вместо использовагия std::back_inserter() в пустой вектор.
Короче, задача такая: перегрузить оператор ввода класса дроби, при этом учесть, что если введен знаменатель "0", то должно выбрасываться исключение...
Всем доброго дня, необходимо было написать программу разрезания многоугольника прямой, дело сделаноПравда использовал библиотеку шаблонов...
Есть двумерный массив чиселInt mass[15][20] Нужно передать его в функцию так, чтобы изменение его в функции отражалось в main
Доброго времени сутокЕсть код, который нужно изменить под статичный массив