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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kaskera
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 34
#1

Генератор объектов классов - C++

03.09.2013, 17:54. Просмотров 499. Ответов 2
Метки нет (Все метки)

Как написать такой генератор?

Есть класс Base в котором есть ЧИСТАЯ виртуальная функция Show () и поле UINT num

C++
1
2
3
4
5
6
class Base
{
  UINT num;
  public:
  virtual void Show () = 0;
};
И имеем 3 наследуемые классы A, B, C
Написать генератор, который будет:
1) создавать объекты классов с такой вероятностью: 60% - А, 30% - B, 10% - С
2) Вызывать методы Show () созданного объекта
3) После создания всех объектов удалить их отдельным методом
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2013, 17:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генератор объектов классов (C++):

Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов - C++
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение, демонстрирующее работу с коллекцией объектов...

Преобразования объектов классов в объекты других классов - C++
Задача типа обмен валют. Нужно конвертировать старый фунт стерлинг(фунт, шиллинг и пенсы) в доллары и обратно, по курсу 1 фунт = 50...

Генератор объектов - C++
Я пишу консольную игру, и планирую сделать её с пароякой режимов. Например: 1) Режим прохождения - игрок по очереди сражается с каждым...

Создание классов и объектов - C++
Написать программу создания класса. File: Имя файла, Размер, Дата создания, Количество обращений. Определить возможно ли записать файл на...

Объединения объектов классов - C++
Доброй ночи, форумчане. Столкнулся с проблемой объединения объектов разных классов. Ранее с объединениями не сталкивался, но сейчас...

Создание классов и объектов - C++
1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.09.2013, 19:11 #2
Kaskera,
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
 
class Base
{
public:
   virtual ~Base() {}
   virtual void show() const = 0;
};
 
class A : public Base
{
public:
   void show() const { std::cout << "A" << std::endl; }
};
 
class B : public Base
{
public:
   void show() const { std::cout << "B" << std::endl; }
};
 
class C : public Base
{
public:
   void show() const { std::cout << "C" << std::endl; }
};
 
class RandomFactory
{
public:
   RandomFactory()
   {
       srand(time(0));
   }
   ~RandomFactory()
   {
       for (std::vector<Base*>::const_iterator pos = pointers.begin();
       pos != pointers.end(); ++pos)
       {
           delete *pos;
       }
   }
   Base* generate()
   {
       int value = 1 + (rand() % 10);
       Base* ptr =
       value >= 1 && value < 7 ?
       static_cast<Base*>(new A()) : value >= 7 && value < 10 ?
       static_cast<Base*>(new B()) : static_cast<Base*>(new C());
       ptr->show();
       pointers.push_back(ptr);
   }
private:
   std::vector<Base*> pointers;
};
 
int main()
{
    RandomFactory factory;
    for (int i = 0; i < 10; ++i)
    {
        factory.generate();
    }
}
http://ideone.com/RqtFS8
1
Kaskera
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 34
03.09.2013, 19:19  [ТС] #3
ForEveR, спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 19:19
Привет! Вот еще темы с ответами:

Композиция классов и объектов - C++
Помогите, пожалуйста, разобраться с самим заданием. -В первой части предлагается использовать композицию по принципу «матрёшки», когда...

Создание классов и объектов - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; class gai { private: char marka; int nomer; ...

Композиция классов и объектов данных - C++
Номиналы украинских гривен могут иметь значение 1, 2, 5, 10, 20, 50, 100, 500, 1000, 5000. Копейки представить в виде 0.01 (1 копейка),...

Напишите отличия классов от объектов - C++
может кто простым языком рассказать про отличие между классами и объектами


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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