Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Композиция и Наследование классов Что это за ошибки и как их решить? https://www.cyberforum.ru/attachment.php?attachmentid=1064671&stc=1&d=1567621843 Employee.h #pragma once #include <cstdlib> #include <vector> #include... https://www.cyberforum.ru/ cpp-beginners/ thread2496778.html Задачка(шахматы) C++
На шахматной доске находятся черный король и две белых ладьи(ладьи бьет по горизонтали и вертикали). Проверить находится ли король под угрозой и если да, кто ему угрожает.
C++ Написать блок-схему https://www.cyberforum.ru/ cpp-beginners/ thread2496759.html
Добрый день,такое дело значит,дали мне задание по C++,но попросили нарисовать для начала блок-схему и что-то вот не доходит до меня,как правильно её нарисовать к этому заданию. Если не сложно...
C++ Определить, является ли одна последовательность циклическим сдвигом другой https://www.cyberforum.ru/ cpp-beginners/ thread2496757.html
Задано число N и две последовательности целых чисел длины N. Определить, является ли одна циклическим сдвигом другой. примеры: Можно использовать библиотеки iostream, string, vector, iomanip: 1)...
Задача D. Код да Винчи [C] C++
Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Профессор Роберт Лэнгдон, как обычно, попал в...
C++ Попадает ли точка в заштрихованную область? https://www.cyberforum.ru/ cpp-beginners/ thread2496735.html
Здравствуйте помогите написать код для прикрепленной картинки. Нужно чтобы заданная точка попадала в заштрихованную область.
C++ Решение задачи B: "Я знаю кунг-фу" [C] Задача B. Я знаю кунг-фу Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 0.5 секунд Ограничение по памяти: 256 мегабайт Морфеус и Нео... https://www.cyberforum.ru/ cpp-beginners/ thread2496726.html Вычисление арктангенса разложением в ряд (нужна блок-схема) C++
arctgx=Pi/2-1/x+1/3x^3-1/5x^5+... , x>1
C++ Упорядочить по убыванию два данных набора через ссылки Описать процедуру SortDec3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по убыванию (A, B, C — вещественные параметры, являющиеся... https://www.cyberforum.ru/ cpp-beginners/ thread2496682.html C++ Написать программу Составить программу на C++, которая решит уравнение, X вводить с клавиатуры. Уравнение любое(1-12) https://www.cyberforum.ru/ cpp-beginners/ thread2496664.html
C++ Перегрузка операции извлечения из потока
подскажите, по заданию необходимо перегрузить операцию извлечения из потока >> для класса DoubleSubscriptedArray, чтобы она выводила массив. правильно ли я сделал и мне непонятно разве можно эту...
C++ Вычислить значение заданного выражения https://www.cyberforum.ru/ cpp-beginners/ thread2496625.html
немогу понять как решать такие формулы
Комп_Оратор)
Эксперт по математике/физике
8719 / 4426 / 598
Регистрация: 04.12.2011
Сообщений: 13,262
Записей в блоге: 16
05.09.2019, 10:54 0

Изучаю паттерн Visitor - C++ - Ответ 13808165

05.09.2019, 10:54. Показов 1160. Ответов 5
Метки (Все метки)

Ответ

Цитата Сообщение от remzona Посмотреть сообщение
Код в целом кажется понятным, кроме вот этого...
C++
1
2
3
4
5
6
void visitBinaryOperation(BinaryOperation const * bop)
    {
        bop->get_left()->visit(this);
        std::cout << bop->get_op() << " ";
        bop->get_right()->visit(this);
    }
Тут показан рекурсивный обход 2-дерева и это не имеет прямого отношения к паттерну visitor. Я не компилировал, но предвижу неприятности при попытке вызова get_left()/get_right() на указателе на базовый Expression оказавшийся листом - числом - Number ... Впрочем, наглаз могу и ошибиться.
Гланое, что данная строка не относится к теме visitor. remzona, патерн посетитель это специфический способ решения задачи в обход стандартных путей. Например, динамический полиморфизм, решает задачу элегантно и не нарушая инкапсуляции классов клиента. Вы хорошо понимаете задачу и способ решения при полиморфном наследовании?

Вернуться к обсуждению:
Изучаю паттерн Visitor C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2019, 10:54
Готовые ответы и решения:

Паттерн Visitor для дерева
Есть у кого нибудь такой код? Буду благодарен!

Абстрактный класс Visitor С++
Пытаюсь создать абстрактный класс Visitor для работы с классом Expression, который представляет...

Паттерн Visitor
Для игры Реверс реализовать метод обхода доски перебирающий все эл-ты игрового поля и метод который...

Паттерн Visitor
Написал приложение для работы с бд. тема - кулинарная книга. 5 таблиц, можно добавить-удалить...

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2019, 10:54

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Почему паттерн абстрактная фабрика - паттерн уровня объектов, если в нём могут быть статические отношения?
Взято из Шевчук А., Охрименко Д., Касьянов А. Design Patterns via C#. Приемы...

По паттерну visitor
допустим, у меня есть Visitable с методом accept и Visitor с методом visit. Соответственно я пишу...

Returning Visitor (вовзраты) - 48% с AdWords - это нормально?
Всем доброго времени суток, с прошедшими и наступающими праздниками. Заинтересовал вот такой...

Если переменная visitor имеет значение "ВАСЯ", то...
Вот такое задание : greeting=(visitor==&quot;ВАСЯ&quot;)?&quot;Привет Вася &quot;:&quot;Привет&quot;; Если переменная...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.