![]() |
|
Модераторы: bsa |
![]()
|
|
| TaNK |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: 1 Всего: 1 |
Так вот когда строка da.Test(da); запускается данные выдает верные день 14 и год 2007 , а когда dt.Test(dt); по нулям хотя должно быть 22 и 2009 соответсвенно, почему тип DateTime не может привеститсь к типу Date, если он наследуется от Date. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||||
|
|||||||
| Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Используйте список инициализации.
|
|||
|
||||
| EgorTheBlade |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
Как он сможет увидеть DAteTime из Date? virtual тут оказался непричем-я глупость написать Это сообщение отредактировал(а) EgorTheBlade - 27.10.2010, 09:20 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
TaNK
При создании потомка для базового вызывается default конструктор, который инициализирует все нулями
что написал то и работает |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
Дык у тебя в производном классе свои собственные переменные. И конструктор базового ты не вызываешь, а значит он вызывается с дефолтными параметрами - 0, 0, 0.
PS не хорошо присваивать перечисляемым типам насильно значение, которого нет в перечислении. -------------------- ![]() |
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: 1 Всего: 1 |
Огромное Вам спасибо +1. Добавлено через 2 минуты и 46 секунд да да я уже понял, что не учел инициализацию. Добавлено через 4 минуты и 23 секунды
Вы имеете ввиду Month mm = Month(0). я это у Страуструпа подсмотрел. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: 1 Всего: 1 |
возник еще вопрос -
вызываю для dt
после этого хочу вызвать еще раз dt.Test(dt); и получить 2010 - год и 27 день но получаю опять те же данные что и пред идущий вызов Test т.е. 2009 и 22 я так понимаю это из за инициализации, но что тогда делать в этом случае...сделать Test virtual и переопределить в Datetime? -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
-------------------- ![]() |
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: 1 Всего: 1 |
Cheloveck - понял, спасибо.
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
![]()
|
| Правила форума "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. |