Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.09.2021
Сообщений: 44

Паттерн делегирования

19.04.2022, 22:12. Показов 1022. Ответов 3
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть схема классов, может кто подскажет идею с каким классом связать делегирование (нужно сделать паттерн делегирование), без реализаций, только идею?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.04.2022, 22:12
Ответы с готовыми решениями:

Двойное использование делегирования конструкторов
Есть клас square который сначало делигирует свою роботу предку, но я еще хочу чтобы он затем и делгировал свою роботу конструктору по...

паттерн и строка C++
Возникла необходимость производить поиск в строке по паттерну, который может содержать символ '*' и '?'.Например: искать в строке...

Паттерн Спецификация
Нужен легкий пример использования паттерна Спецификация. Желательно на с++ или с#

3
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
19.04.2022, 22:43
https://www.cyberforum.ru/post15686582.html
https://www.cyberforum.ru/post15693886.html
0
0 / 0 / 0
Регистрация: 17.09.2021
Сообщений: 44
20.04.2022, 00:10  [ТС]
Если вот такие наброски, то с каким классом можно связать?
Вложения
Тип файла: txt 1.txt (10.1 Кб, 6 просмотров)
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
20.04.2022, 00:25
Цитата Сообщение от ifolkob Посмотреть сообщение
наброски
даже если это наброски, то всё равно они должны быть compilable

cудя по этому вашему:
C++
1
2
3
4
5
6
class Interface {
    private: string GetType(); // Получить тип пользователя
    private: string GetName(); // Получить имя пользователя
    private: string GetPassword(); // Получить пароль пользователя
    private: string GetTema(string Naz);    // Получить одну тему пользователя
};
у мя возникает подозрение, что вам нужны не делегаты а тупо стандартные полиморфные методы.

Цитата Сообщение от ifolkob Посмотреть сообщение
то с каким классом можно связать?
вопрос некорректно заданный, так как истолковывается многомысленно...

Цитата Сообщение от ifolkob Посмотреть сообщение
Паттерн делегирования
идея(взято у вики):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
 
class I
{
public:
    virtual void f() = 0;
    virtual void g() = 0;
};
 
class A : public I
{
public:
    void f()
    {   std::cout << "A: вызываем метод f()" << std::endl;
    }
    void g()
    {   std::cout << "A: вызываем метод g()" << std::endl;
    }
};
 
class B : public I
{
public:
    void f()
    {   std::cout << "B: вызываем метод f()" << std::endl;
    }
    void g()
    {   std::cout << "B: вызываем метод g()" << std::endl;
    }
};
 
class C : public I
{
public:
    // Конструктор
    C() : m_i ( new A() ) { }
    // Деструктор
    virtual ~C()
    {   delete m_i;
    }
    void f()
    {   m_i->f();
    }
    void g()
    {   m_i->g();
    }
    // Этими методами меняем поле-объект, чьи методы будем делегировать
    void toA()
    {   delete m_i;
        m_i = new A();
    }
    void toB()
    {   delete m_i;
        m_i = new B();
    }
private:
    // Объявляем объект методы которого будем делегировать
    I * m_i;
};
 
int main()
{   C c;
 
    c.f();
    c.g();
    c.toB();
    c.f();
    c.g();
 
    return 0;
}
 
/* Output:
A: вызываем метод f()
A: вызываем метод g()
B: вызываем метод f()
B: вызываем метод g()
*/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2022, 00:25
Помогаю со студенческими работами здесь

Паттерн Builder
Вот у меня есть код примера реализации паттерна Builder(другие примеры не предлагать). В классе Army надо как-то исправить код так, чтобы...

Паттерн Embedded Value
Доброго времени суток, вопрос по паттерну Embedded Value (объединенное свойство). Это тема моей курсовой, нашел про него немного теории, да...

Паттерн прототип/
Добрый день, можно пример из реального проекта, где пригодился этот паттерн. Нужно знать, но кроме унаследования от библиотечного класса...

Паттерн Bridge
нужно написать аудиоплеер, используя паттерн Bridge, с помощью которого надо реализовать возможность смены интерфейса. с паттернами я не в...

Паттерн декоратор
доброго времени суток уважаемые форумчане, помогите пожалуйста разобраться, где я допустил ошибку? суть программы в том что бы слова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru