![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем доброго утра.
каким образом можно вызвать конструктор базового класса не зная кто предок? код:
http://liveworkspace.org/code/9c0aa5263526...22d9cf0e0da1e70 спасибо. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
конструктор предка должен вызываться из конструктора derived, но этого не происходит. Но у класса derived нет default конструктора (так как компилятор не знает как его сгенерировать) и другого тоже нет. Можно решить через обыкновенную функцию, которую derived унаследует от базового класса а конструктор оставить default, чтобы компилятор мог его генерировать для наследников без каких либо проблем.
что-то вроде этого http://liveworkspace.org/code/5593f2deabab...e404db3d33b550c Это не совсем понятно. Что значит не может? Нельзя писать или его действительно быть не должно? Это немного разные вещи, так как если его действительный быть не должно то как будет создаваться объект? Это сообщение отредактировал(а) azesmcar - 12.10.2010, 05:30 |
|||
|
||||
| boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
класс i_type генерирует метагенератор. как видно, в этом классе, публичные, только чистовиртуальные методы. наследуясь от него, юзер их должен реализовать. не хочется на юзера вешать реализацию того, что ему не нужно(писать конструктор, инициализировать предка, и т.д..). т.е. хочу скрыть от него все остальное.
а конструктор по умолчанию? собственно в этом то и вопрос - нужно создать объект потомок, при этом инициализируя предка неким значением.
хм... именно этого я и хотел избежать. есть еще варианты? |
||||||
|
|||||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
в новом стандарте можно вот так
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Но позвольте какие виртуальные методы, и вообще что за база ?! зачем загружать пользователя ? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
на стороне сервера кто-то же должен реализовать обработчики. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и при чем тут виртуальные методы пакета протокола ?! |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вы меня не правильно поняли..возможно..
сейчас я занимаюсь именно связыванием типов команд, с их обработчиками. или что?.. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
|
|||
|
||||
| boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вот что говорит:
как понимать? Добавлено через 1 минуту и 25 секунд чуть позже.. |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
Даже Comeau так не умеет. Кстати, в текущем draft я такой фичи не нашел... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я даже не искал. ибо не знаю что искать |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
на то он и новый стандарт http://gcc.gnu.org/gcc-4.5/cxx0x_status.html
N2540 12.9 Inheriting Constructors текущий черновик Это сообщение отредактировал(а) azesmcar - 12.10.2010, 12:49 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |