Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2011, 20:08   #1
voltageminh
 
Регистрация: 10.05.2011
Сообщений: 3
По умолчанию Создание объектов

Требуется написать алгоритм который будет создавать объект определенного класса по запросу пользователя, называя объект введенным с клавиатуры именем.
voltageminh вне форума Ответить с цитированием
Старый 10.05.2011, 20:23   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Цитата:
называя объект введенным с клавиатуры именем.
разве такое возможно ?
Hemul вне форума Ответить с цитированием
Старый 10.05.2011, 20:32   #3
voltageminh
 
Регистрация: 10.05.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Hemul Посмотреть сообщение
разве такое возможно ?
Ну это мне в принципе и интересно
Хотя в принципе задавать объекту введенное имя не обязательно. Можно задавать введеное имя переменной класса для этого объекта.
Самое важное это алгоритм который будет по запросу пользователя создавать новый объект.
voltageminh вне форума Ответить с цитированием
Старый 10.05.2011, 20:54   #4
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

ну как вариант создать указатель ,через который выделять память на объекты и далее хранить адрес до объекта в динамическом массиве указателей
Hemul вне форума Ответить с цитированием
Старый 10.05.2011, 20:57   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
#include <iostream>
#include <string>
 
class Uno {
public:
  Uno() {
    std::cout << "Uno was created" << std::endl;
  }
};
 
class Dos {
public:
  Dos() {
    std::cout << "Dos was created" << std::endl;
  }
};
 
int main() {
  std::string class_name;
 
  std::cout << "What class you want to create?" << std::endl;
  std::cin  >> class_name;
 
  if (class_name == "Uno") {
    Uno uno;
  } else {
    Dos dos;
  }
}
Код:
#include <iostream>
#include <string>
 
class Object {
public:
  virtual void print_name() = 0;
  static Object* factory(std::string);
};
 
class Uno : public Object {
public:
  void print_name() {
    std::cout << "Uno object" << std::endl;
  }
};
 
class Dos : public Object {
public:
  void print_name() {
    std::cout << "Dos object" << std::endl;
  }
};
 
Object* Object::factory(std::string class_name) {
  if (class_name == "Uno")
    return new Uno;
  else if (class_name == "Dos")
    return new Dos;
  else
    return NULL;
}
 
int main() {
  std::string class_name;
  Object* object = NULL;
 
  std::cout << "Which class you want to create?" << std::endl;
  std::cin  >> class_name;
 
  object = Object::factory(class_name);
 
  object->print_name();
 
  delete object;
}
netrino вне форума Ответить с цитированием
Старый 10.05.2011, 21:01   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

voltageminh

Требуется написать алгоритм который будет создавать объект определенного класса по запросу пользователя, называя объект введенным с клавиатуры именем.

http://ru.wikipedia.org/wiki/Фабричн...проектирования)
Rififi вне форума Ответить с цитированием
Старый 11.05.2011, 08:00   #7
voltageminh
 
Регистрация: 10.05.2011
Сообщений: 3
По умолчанию

Спасибо за помощь.
voltageminh вне форума Ответить с цитированием
Старый 11.05.2011, 08:51   #8
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

[полуоффтоп]Причём тут фабрика объектов?[/полуоффтоп]
the_deer_one вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MapX создание объектов Google[Bot] Компоненты Delphi 7 27.01.2012 08:33
создание объектов в классе V@mpire Общие вопросы C/C++ 3 30.05.2010 21:34
создание объектов класса Serjuk Общие вопросы C/C++ 8 13.05.2010 18:54
Динамическое создание объектов LepihinMS Общие вопросы Delphi 18 05.07.2007 23:31