Очевидно, в самом интерфейсе ArmyVisitor должен быть заявлен метод visit{Имя того класса, которому принадлежит метод accept} - тогда любой его наследник должен этот метод реализовать, и IDE за этим проследит.
Просто подробное сообщение об ошибке нецензурно, вот и не выводится.
А как цензурно объяснить человеку, кто он, если пытается подключиться к БД, но даже название ее не указывает?
Passionare, так я и ответил, как организовать, просто это не совпало с твоими мечтами. Сделай проект, которым кто-нибудь заинтересуется - тогда и гляди с надеждой на опенсурс. А мечтать о том, какая крутая у тебя идея и как вокруг много желающих над ней пахать, можно столь же бесконечно, сколь и безрезультатно.
Dubrovin, можно, собрав все "длинные" классы, которые получились, отсортировать этот список и оставить только первые символы, отличающие каждый из них от предыдущего. В основном получатся имена не длиннее нескольких символов.
Шли десятилетия, а виндовские штатные дрова для видеокарт так и не умели поддерживать OpenGL из коробки.
Поставьте нормальный драйвер видео от производителя.
Это не С++, это С.
В С++ логично сначала определить класс книги, заодно задав ему оператор сравнения.
Потом, получая данные, определять, относится ли книга к заданному времени, и если да, то заносить ее в вектор объектов класса книга.
Затем отсортировать этот вектор одной командой и вывести циклом.
Dubrovin, я ее и дал вторым вариантом. Ничего не удаляется, берете хэш 7d50b03b3e72815544fb16bdf4bf8c61
и элементарной заменой превращаете его в ndlgbgjbjeniohllkkfbhmbdfkbfocmh
Dubrovin, ну, раз это для вас проблема, лучше обойдитесь символами a-zA-E - будет 32 варианта.
Заменяете каждые 5 бит хэша на соответствующую букву - и все. Просто получится немного подлиннее.
Или, если и это для вас сложно, самый козырной алгоритм: берете hex-строку md5 и тупо заменяете 0-9 на g-p. Получаете строку из одних только букв...
Так в MD5 и нет "цифр и спецсимволов". Хэш - это набор битов. Просто обычно выводят их hex представление.
Можете взять хэш от строки любой популярной функцией и записать его в своей 52-ричной системе.
Надо свести к одной. Пусть в ней у конкретного работника будут нули в половине параметров, компьютер не умается это посчитать. Зато зарплата будет зависеть только от этих параметров, а их уже легко хранить в базе.
+ может быть сразу несколько формул сразу
Совмещение? Тут стоит привязывать зарплату не к работнику, а к штатной единице, отношение их к работникам - многие ко многим. Так легко будет реализовать работу на полставки и обсчет не совпадающих по ставкам отпусков.
Я бы выделил работу с запросами в один класс, обработку массива $messages - во второй, а формирование статистики - в третий. Можно будет не скакать между разными уровнями логики внутри одного метода.
Ну, и дублирование кода кое-где потеряет смысл.