Программа не заходит в цикл

Я новичок в C++, и я пытаюсь сделать следующее: 1) Я создал класс объектов под названием «Объекты», который содержит имя объекта и номер для их идентификации. 2) Я создал группу классов, которая наследуется от списка, следующим образом:

#include «objects.h» #include #include #include using namespace std; class Group : public std::list < private: string groupname; public: Group(string groupname); virtual ~Group() <>//destructor virtual string getGroupName() const; virtual void showlist(ostream >;
3) Затем я внедрил showlist метода следующим образом:
void Groupe::showlist(ostream printf(«I’m here 1n»); for(auto it = this->begin(); it != this->end(); it++)< printf(«I’m here 2n»); sl getGroupName() >
И метод getGroupName выглядит следующим образом:

string Group::getGroupName() const

4) В основной программе я создал указатель на переменную типа Group. Код компилируется без каких-либо ошибок, но когда я его выполнил, я понял, что программа входит в список show method и выходит без выполнения цикла for. Я проверил это, разместив сообщения с printf. Только сообщения «Перед методом», «Я здесь 1» и «После метода» показаны в терминале.

Циклы. Цикл while. Что это. Что делает. Пример. Синтаксис. Урок #14.

Он не показывает «Я здесь 2». Я призываю из основного:

Group *lgroup = new Group[5] ; printf(«Before methodn»); lgroup->showlist(sl); printf(«After methodn»); cout

Не могли бы вы помочь мне понять, почему цикл не выполняется? Обновить Программа не входила в цикл, потому что список пуст, как объяснено в ответах членов. Что касается этого случая, наследующего от List , это ограничение, я заполнил список в основной функции следующим образом:

Groupe *lgroup1 = new Groupe(«g1»); Object *objets[3]; objets[1] = new File(«/home/Documents», «b2.jpg»,0,0); objets[2] = new File(«/home/Documents», «b3.jpg»,0,0); objets[3] = new File(«/home/Documents», «b4.jpg»,0,0); lgroup1->push_back(objets[1]); lgroup1->push_back(objets[2]); lgroup1->push_back(objets[3]);

Читайте также:
Как с помощью программы проводник ознакомиться с содержимым какого либо диска папки

Где File — класс, который наследует от класса Objects . Таким образом, программа компилируется и выполняется. В командной строке показан атрибут класса Groupe , являющийся g1 . Я хочу использовать display метода, которое уже реализовано в классе Objects но когда я пытаюсь это сделать, компилятор показывает эту ошибку:

error: ‘const class Group’ has no member named ‘display’ sl display(cout)

Итак, мой вопрос заключается в том, как заставить класс Group наследовать методы как из List (который уже сделан), так и из Objects ?

Источник: overcoder.net

Программа не заходит в цикл

: 19

ЧТО ДЕЛАТЬ ЕСЛИ НЕ ПОНИМАЕШЬ ПРОГРАММИРОВАНИЕ | КАК ВЫУЧИТЬ ПРОГРАММИРОВАНИЕ

Не заходит в цикл, в чем ошибка? (си)

Вот задание — Ввести массив от 0 до 20 целочисленный, ввести А и В, где А меньше В и вычислить произведение всех элементов в отрезке АВ, сумму кубов вне отрезка АВ и их среднеарифметическое.

#include #include int main (void) < int n=-100,a,b,sred,i,proiz=1; for (;(n<=0)||(n>=20);) < printf («Enter size massive «); scanf («%i», >int mass[n]; for (i=0;i printf («Enter a = «); scanf («%i», printf («Enter b = «); scanf («%i», if((mass[i]>=a)(mass[i] <=b)) < for(i=0;iprintf («Proizvedenie = %i», proiz); > return 0; >

Источник: www.programmersforum.ru

Почему программа не заходит в цикл?

При введении правильных данных то есть такого имени которое имеется в списке, программа пишет что елемент не найден. При отладке я понял что программа не заходит в цикл. Подозреваю что где-то очень глупая ошибка. Надеюсь на помощь. Код прилагается:

for (auto if (it.getName() == name) < cout > cout

  • Вопрос задан более года назад
  • 150 просмотров

7 комментариев

Простой 7 комментариев

А что такое menu нужно угадать?
Да и на объявление name полезно было бы взглянуть.
Денис Загаевский name это и есть список в котором я ищу нужное имя
Данил Васькевич, Где код menu?

Читайте также:
Программа чтобы сделать игру на Андроид

Casper-SC

Данил Васькевич, так выложи весь код. С чего ты взял, что ошибка в этом куске?

Борис Животное, ошибка здесь потому-что я использовал отладчик который показал что цикл не запускается

никакине другие методы не жалуются на меню и работают правильно
Решения вопроса 1

RiseOfDeath

Диванный эксперт.

Не хватает определения it.getName() и name, но я и так предполагаю (хотя без нужных кусков кода не могу быть уверенным на 100%) почти наверняка программа заходит в цикл, обходит весь список menu, и каждый раз на условии it.getName() == name сравнивает адреса (а они наверняка разные), хотя вам, наверное, нужно сравнить непосредственно содержимое.

Источник: qna.habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru