12 / 1 / 1
Регистрация: 08.11.2008
Сообщений: 41
|
||||||
1 | ||||||
Фабрика обьектов и названия классов27.08.2010, 00:53. Показов 2369. Ответов 5
Метки нет (Все метки)
Вопрос следующий: как можно получить название класса в виде строки, ну или как вариант превратить параметр шаблона(которым и будет этот класс) в строку? Дело в том что я пытаюсь реализовать шаблон *фабрика обьектов*, то есть я регистрирую классы в фабрике и сопоставляю их с некоторыми строковыми значениями и хотел бы чтобы при написании новых классов не нужно было описывать некоторую функцию для получения текстовой константы-названия, а что бы фабрика сама определяла это текствое значение.
Я придумал что-то похожее на решение, но оно уж слишком смешно выглядит(Просьба не смеяться))) :
0
|
27.08.2010, 00:53 | |
Ответы с готовыми решениями:
5
Как получить названия классов, используя libxml2 Как в Visual Studio сделать так, чтобы названия классов выделялись другим цветом Фабрика классов Фабрика классов: ковариантные возвращаемые типы не поддерживаются в управляемых типах |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
27.08.2010, 01:31 | 2 |
sergio1, А как насчет наследования? Базовый класс с функцией определения имени, от него наследники, функцию можно вызывать через любой производный класс
0
|
12 / 1 / 1
Регистрация: 08.11.2008
Сообщений: 41
|
|
27.08.2010, 01:50 [ТС] | 3 |
И если забыть переопределить эту функцию то начнутся проблемы с совпадением имен, но при этом может быть не сразу ясно что ошибка именно в отсутсвии переопределения. Я бы именно хотел чтобы эта функция создалась сама
0
|
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
|
|
27.08.2010, 01:53 | 4 |
Если на этапе компиляции определять тип, то typeid. Если рантайм тебе такое сделать нужно, то можно использовать MFC CRuntimeClass (Через него и класс определить можно и динамически создать экземпляр)
1
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
27.08.2010, 01:54 | 5 |
sergio1, покажите метод фабрики, отвечающий за создание объектов (объявление), а также метод регистрации.
0
|
12 / 1 / 1
Регистрация: 08.11.2008
Сообщений: 41
|
|
27.08.2010, 02:26 [ТС] | 6 |
А я что-то и не подумал что он не только для обьектов работает, а и для классов, спасибо что напомнили.
Вопрос решен, тему можно закрывать.
0
|
27.08.2010, 02:26 | |
27.08.2010, 02:26 | |
Помогаю со студенческими работами здесь
6
Функции обьектов и классов Синтаксис классов и обьектов Хранение в контейнере обьектов разных классов Массив обьектов из нескольких классов! Как реализовать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |