![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Ivan. |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
Здравствуйте.
Помогите решить задачу, если класс с шаблонным методом:
-------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
||||||||||
|
|||||||||||
| tzirechnoy |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Сделай один отдельный конструктор по умолчанию.
...
|
||||||
|
|||||||
| Ivan. |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
я пока так и сделал, но что если конструктор сложный, или их и так уже 5 штук, перегрузив их будет уже 10.
может можно как то раскрыть конструктор, например оператор == можно раскрыть как:
Это сообщение отредактировал(а) Ivan. - 14.8.2015, 20:57 -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
||||
|
|||||
| tzirechnoy |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Синтаксис дефолтного это сильно не изменит.
Дефолтный конструктор всегда один. В общем, по-моему нельзя, но вариант с передачей какого-то вида значения, связанного с этим типом, по-моему решает всё. |
||||
|
|||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Откровенно говоря, вызывает сомнения сам дизайн...
Какой смысл в инициализации класса только типом? Может, тогда имеет смысл сделать шаблонным сам класс? |
|||
|
||||
| Ivan. |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
Я понимаю, что цель не понятна, т.к. это вырвано из большого кода. приведу пример побольше:
По-моему пример стал еще запутаннее )) Спасибо за помощь. я понял, что это не получится. вариант передачей указателя решает задачу, просто он не совсем удобен. -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
||||||||
|
|||||||||
| TarasProger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Ivan., члены шаблонного класса не нуждаются в уточнении по одиночке, так как весь класс конкретизируется с одними и теми же типами-параметрами в декларации каждого своего экземпляра, или указателья на экземпляр. А с ним конкретизируются и все методы, конструкторы и деструкторы. Шаблон то всё равно абстрактен на столько, что не толко именованных экземпляров, но даже безымянных экземпляров производных классов иметь не может, на основе его сначала надо создать более конкретный класс, а потом уже его экземпляры.
Добавлено через 1 минуту и 29 секунд
Добавлено через 3 минуты и 26 секунд Ну ты уж определись. |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Первое иестоимение их относится к существительному, предшэствующему местоимению, второе -- указывает на тожэ, что и первое. Конструкторов ужэ пять штук, и перегрузив конструкторы, их станет 10. Вообще, если бы ты попробовал сделать то, что человек просил в качестве примера, то вопросы и проблемы были бы тебе очевидны. И в связи с этим возникает вопрос -- какого хера ты лезешь поучать людей в топик, из которого тебе понятны в лучшэм случае отдельные слова, да и то не все? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |