![]() |
|
Модераторы: bsa |
![]()
|
|
| SABROG |
|
||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Вот что у меня есть:
Так это работает:
Хочу создать третий класс, который объединит эти 2 в один, таким образом, чтобы можно было использовать так:
Но второй параметр не должен быть жестко int'овым, т.е. чтобы и так тоже можно было:
При этом - нельзя менять коды классов cA, cB. Нельзя копировать код из cA, cB. Т.е. известен только интерфейс. Можно только наследовать. |
||||||||
|
|||||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Что вы уже предприняли и с какими проблемами столкнулись?
|
|||
|
||||
| SABROG |
|
||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Я предпринял следующее:
И попытался заюзать:
Получил пару ошибочек:
Да и само объявление объекта класса выглядит ни как я хочу "cC tst5(1, tst);" |
||||||
|
|||||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
Хм... ну конечно, конструктор базового класс нужно инициализировать:
Это сообщение отредактировал(а) JackYF - 30.4.2008, 17:48 |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Чет никак
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
? |
|||
|
||||
| SABROG |
|
||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Кстати может ну их эти шаблоны ? Если компилер под каждый тип создает свой код. Лучше тогда void * передать и конвертить по мере необходимости... Это сообщение отредактировал(а) SABROG - 30.4.2008, 18:45 |
||||||||
|
|||||||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
не знаю правильно ли я тебя понял, но вот
|
|||
|
||||
| archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Либо
Либо
З.Ы. На компиляторе не проверял, но, говорит именно о том, что ты пропустил список шаблонных аргументов перед открывающейся скобкой... Не могу сказать, что это лучше. С тем же успехом как ты отказываешься от строгой типизации можно отказаться и от ООП, к примеру... -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
| SABROG |
|
||||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Этот вариант собрался, спс. Насчет коммента про то что "эт вроде не обязательно, ибо оно и так implicitly injected". Может оно и так, но без этой строчки ничего не собирается:
В итоге создание экземпляра класса сейчас выглядит вот так:
А нельзя заставить компилятор самому определять какой тип передается ? Т.е. чтобы было так:
|
||||||||||
|
|||||||||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
компилятор может вывести шаблонные параметры для функции, но не для класса
Добавлено через 3 минуты и 27 секунд поэтому можно написать шаблонную функцию - конструктор, которая возвращала-бы экземпляр объекта нужного типа
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |