Форум программистов, компьютерный форум CyberForum.ru

изменить класс Proxy так, чтобы он позволял динамически переключаться с одной реализации на другую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти сумму элементов заштрихованной области таблицы А размером МхN для любого N > 1 http://www.cyberforum.ru/cpp-beginners/thread1056129.html
:friends: Задание - Найти сумму элементов заштрихованной области таблицы А размером МхN для любого N > 1. - - - - - - x x x - - x x x - - x x x - - - - - -
C++ Функция, где ошибка? После добавления сортировки через функцию, она перестала работать( сортировка по возрастанию сумм столбцов) // ConsoleApplication13.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream"; http://www.cyberforum.ru/cpp-beginners/thread1056124.html
C++ Немогу разобраться в коде программы
Доброго времени суток! Помогите разобраться в коде программы нужно написать, что значит каждая строка кода. #include <iostream> #include <iomanip> #include <windows.h> using namespace std; void show(int vagon) {
Поворот матрицы по кругу на определенное число градусов C++
есть матрица 012 012 012 поворот на k=1, по часовой стрелке, выглядит так: 001 012 122
C++ Есть ли ошибка ? http://www.cyberforum.ru/cpp-beginners/thread1056105.html
В строке, состоящей из групп нулей и единиц, подсчитать количество символов в самой длинной группе. Вот мой код, только я не знаю правильный он или нет? #include <iostream.h> #include <conio.h> int main(){ int i, len, maxlen; const char* str="010011000111001"; for (i=1, len=maxlen=1; str; i++) if (str==str){ len++;
C++ Сортировка матрицы по условию Помогите пожалуйста решить следующую задачу: Дана матрица (N+15)x(N+15), если сумма четных чисел больше суммы нечетных, тогда сортировать по возрастанию, иначе по убыванию, числа генерировать случайно в интервале . Благодарю. подробнее

Показать сообщение отдельно
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
25.12.2013, 13:54     изменить класс Proxy так, чтобы он позволял динамически переключаться с одной реализации на другую
В этом упражнении используется архитектурная идиома, в которой задействован так называемый заместитель (ргоху). Начните с создания базового класса Subject и определите три функции: f(), g() и h(). Создайте производные от Subject классы Рrоху, а также классы Implementationl и Imp1ementa1ion2. Класс Ргоху содержит указатель на Subject , а все функции класса Ргоху должны перенаправлять свои вызовы через указатель на Subject. Конструктор Ргоху получает указатель на Subject, который запоминается в переменной класса. Создайте в функции main() два объекта Ргоху, использующие две разные реализации. Измените класс Ргоху так, чтобы он позволял динамически и переключаться с одной реализации на другую.

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
#include <iostream>
#include <vector>
using namespace std;
 
class Subject {
public:
    void f(){
        cout<<"f()\n";
    }
 
    void g(){
        cout<<"g()\n";
    }
 
    void h(){
        cout<<"h()\n";
    }
};
 
class Proxy :public Subject {
    Subject *Yobj;
public:
    Proxy(Subject *Y):Yobj(Y){}
    void f(){
        Yobj->f();
    }
 
    void g(){
        Yobj->g();
    }
 
    void h(){
        Yobj->h();
    }
};
 
class Implementation1 :public Subject {};
class Implementation2 :public Subject {};
 
int main() {
    Implementation1 obj1;
    Implementation2 obj2;
    Proxy pObj1(&obj1),pObj2(&obj2);
    pObj1.f();
    pObj2.h();
 
} ///:~
КАК изменить класс Proxy так, чтобы он позволял динамически переключаться с одной реализации на другую?

Добавлено через 34 минуты
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru