![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
ammaximus |
![]()
Сообщение
#1
|
![]() Ночной волк ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Репутация: ![]() ![]() ![]() |
Работа с библиотекой STL. Требуется создать вектор указателей на объекты типа алкогольные напитки. Программа должна уметь добавлять новый элемент, удалять элемент, сортировать по убыванию названия, находить первое включение указанного напитка.
1. В чем ошибки? Нерабочие участки программы закомментированы. 2. Как реализовать по убыванию с помощью итератора? Что за итератор возвращает обратное значение 3. Как присвоить значение итератору? У меня что то = не работает. #include <iostream> -------------------- Не думай о белой обезьяне.
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата 1. В чем ошибки? Нерабочие участки программы закомментированы. А у тебя ошибки начинаются еще ДО того, как что-то закомментировано... Ну, например, ты в конструкторе класса alcohol зачем-то присваиваешь значения унаследованным полям сам, хотя для этого есть конструктор предка... Кстати, конструктор предка ты должен вызывать в конструкторе потомка, ты этого не делаешь... + к этому, есть такое понятие, как значения по умолчанию, то есть, вместо трех перегрузок конструктора liquido, достаточно:class liquido {, это перекрывает все возможные комбинации, которые ты реализовывал вручную. 2) Инициализация: Цитата for (int i=0; i<n; i++){ char gen[20] = {0}; 3) Попытка печати вектора: ошибка, потому что printAlcohol должен быть не классом, а функцией: void print_alcohol(alcohol *a) {, а вот дальше, при попытке отсортировать вектор, ты делаешь обратную ошибку... У тебя есть класс, в котором который ввел предикат сравнения, но передавать-то тебе в std::sort надо не класс, а сам предикат: sort(MyVector.begin(), MyVector.end(), compareAlcohol()); // вот так - правильно 4) Добавление элемента в вектор: temp = new alcohol("NEW ALCOHOL", 893.7, 39.4f); 5) Удаление элемента... Я бы сделал это вот так: cout << "Which element delete?"; По-моему ничего не забыл... |
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 4:07 |