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

Паттерн Builder - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнение строк http://www.cyberforum.ru/cpp-beginners/thread857633.html
Не прибегая к функциям сравнения строк, создайте программу, которая запрашивает у пользователя две строки и производит их сравнение, возвращая 0 , если строки равны,, +1, если первая строка больше второй, и -1 в противном случае. Я не знаю как решить эту задачу без strcmp() Помогите пожалуйста
C++ Массивы. С++ Builder. Вычислить среднее арифметическое элементов матрицы, расположенных на главной диагонали Помогите пожалуйста решить данную задачу...) Вычислить среднее арифметическое элементов матрицы, расположенных на главной диагонали. Вывести элементы, расположенные на главной диагонали. http://www.cyberforum.ru/cpp-beginners/thread857631.html
C++ Массивы и функции
Здравствуйте. Очень интересная ошибка возникает в результате работы этого когда: void schet(double result, int ar_size); int main() { using namespace std; double * result = new double; int i = 0; int ar_size = 10; schet(result, ar_size); cout << result;
C++ класс, реализующий линейный односвязный список
Разработайте класс, реализующий линейный односвязный список. Методы класса: вставка элемента после n-го элемента списка, просмотр списка, удаление из списка каждого второго элемента. Поля записей: номер группы, имя ребенка, его возраст, домашний адрес. код в сlass.h #include <iostream> #include<process.h> #include<conio.h> using namespace std; class Student// описание студента {...
C++ Задача на рекурсию. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги http://www.cyberforum.ru/cpp-beginners/thread857582.html
Дана матрица размером NxN с расстояниями между городами при наличии прямой дороги между ними. По вертикали содержаться города откуда выезжаем, по горизонтали – куда. На пересечении - расстояние по прямой дороге. Если прямой дороги нет, в соответствующем элементе матрицы записывается число “-1”. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги. любая...
C++ Найти ошибку в коде Скажите, пожалуйста, в чем у меня ошибка? Вот код #include <iostream> #include <cmath> #include <locale> #include <conio.h> const float PI = 3.141592; /*class Error{ подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.05.2013, 20:58     Паттерн Builder
Цитата Сообщение от Мишутка1 Посмотреть сообщение
вот так
нет бл...
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
class IFightingArm
{
public:
    virtual void info() const = 0;
    virtual ~IFightingArm() { }
};
 
class Infantryman : public IFightingArm
{
public:
    void info() const { 
        cout << "Infantryman" << endl; 
    }
};
 
class Archer : public IFightingArm
{
public:
    void info() const { 
        cout << "Archer" << endl; 
    }
};
 
class Horseman : public IFightingArm
{
public:        
    void info() const { 
        cout << "Horseman" << endl; 
    }
};
 
class Catapult : public IFightingArm
{
public:    
    void info() const { 
        cout << "Catapult" << endl; 
    }
};
 
class Elephant : public IFightingArm
{
public:    
    void info() const { 
        cout << "Elephant" << endl; 
    }
};
 
class Army 
{
public:
    vector<vector<IFightingArm*> > mArms;
    
    void info() const {   
        for (size_t i = 0; i < mArms.size(); ++i)
        {
            for (size_t j = 0; j < mArms[i].size(); ++j)
                mArms[i][j]->info();
        }
    }
};
 
class ArmyBuilder
{
protected: 
    Army* p;
public:    
    ArmyBuilder(): p(0) {}
    virtual ~ArmyBuilder() {}
    virtual void createArmy() {}
    virtual void buildInfantryman() {}
    virtual void buildArcher() {}
    virtual void buildHorseman() {}
    virtual void buildCatapult() {}
    virtual void buildElephant() {}    
    virtual Army* getArmy() { return p; }    
};
 
class RomanArmyBuilder : public ArmyBuilder
{    
public:    
    void createArmy() { p = new Army; }
    void buildInfantryman() 
    { 
        vector<IFightingArm*> vec;
        vec.push_back(new Infantryman());
        p->mArms.push_back(vec);
    }
    
    void buildArcher() 
    { 
        vector<IFightingArm*> vec;
        vec.push_back(new Archer());
        p->mArms.push_back(vec);
    }
 
    void buildHorseman() 
    { 
        vector<IFightingArm*> vec;
        vec.push_back(new Horseman());
        p->mArms.push_back(vec);
    }    
 
    void buildCatapult() 
    { 
        vector<IFightingArm*> vec;
        vec.push_back(new Catapult());
        p->mArms.push_back(vec);
    }
};
потом ещё хорошо бы память почистить но вам и так сойдет
 
Текущее время: 10:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru