массивами, на работу с векторами. И хочу уточнить, правильно ли все сделано или что-то не учел?
std::vector<Book> NewBook;
Book *b = new Book("Test", "Test", "Test", 0000, 0.0);
Book *b1 = new Book("Test1", "Test1", "Test1", 0001, 0.1);
Book *b2 = new Book("Test2", "Test2", "Test2", 0002, 0.2);
NewBook.push_back(*b);
NewBook.push_back(*b1);
NewBook.push_back(*b2);
for (int i = 0; i < NewBook.size(); i++)
{
NewBook[i].PrintInfo();
}
for (int i = 0; i < NewBook.size(); i++)
{
if (NewBook[i].GetTitle() == "Test1")
{
std::cout << "Книга " << NewBook[i].GetTitle() << " найдена"
<< "\n";
break; // остановка цикла, после нахождения нужной книги
}
}
Зачем new везде? Тем более без соответствующих delete. Так что уже не правильно Циклы можно на range-based for поменять Объекты можно прямо в векторе создавать (emplace методы)
std::vector<Book> NewBook; NewBook.emplace_back("Test", "Test", "Test", 0000, 0.0);
Спасибо! Прочитаю про этот метод.
Обсуждают сегодня