![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#31 | |
Пользователь
Регистрация: 27.02.2011
Сообщений: 22
|
![]() Цитата:
А студийный неявный КК работает грубо говоря так: MyDelClass o; MyBase3 t=o; MyBase3 r=t; Проверил в Студии твой код, результаты теже: ******************************** *** Gonna test another class *** Constructor of Class1 0012FE83 *** I just created object at 0012FE83 and now copy will be created *** --- Hello, I got copy of object at 0012FDA8 --- Destructor of Class1 0012FDA8 ** Bye-bye *** Destructor of Class1 0012FE83 ******************************** *** Gonna test another class *** Constructor of Class2 0012FE83 *** I just created object at 0012FE83 and now copy will be created *** Copy constructor of Class2 0012FD98 --- Hello, I got copy of object at 0012FD98 --- Destructor of Class2 0012FD98 ** Bye-bye *** Destructor of Class2 0012FE83 ******************************** *** Gonna test another class *** Constructor of Class3 0012FE83 *** I just created object at 0012FE83 and now copy will be created *** Copy constructor of Class3 0012FD98 --- Hello, I got copy of object at 0012FD98 --- Destructor of Class3 0012FD98 ** Bye-bye *** Destructor of Class3 0012FE83 Press any key to continue . . . |
|
![]() |
![]() |
![]() |
#32 |
Пользователь
Регистрация: 27.02.2011
Сообщений: 22
|
![]()
Если в моей проге в Funct аргумент поменять на MyBase1 или на MyBase2, то всё работает нормально. Видать такое поведение неявного КК только при множественном наследовании..
|
![]() |
![]() |
![]() |
#33 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Меня лично, больше всего удивило, что MyBase2 имеет адрес, отличный от остальных. Видимо действительно какой-то косяк с множественным наследованием?
|
![]() |
![]() |
![]() |
#34 |
Пользователь
Регистрация: 27.02.2011
Сообщений: 22
|
![]()
Я в начале тоже смутился, но потом подумал что так и должно быть ))
|
![]() |
![]() |
![]() |
#35 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
в итоге получается что MyBase3 содержит внутри себя одновременно и MyBase2 и MyBase1 соответственно их создает. и соответственно разрушает. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
![]() |
![]() |
![]() |
#36 |
Пользователь
Регистрация: 27.02.2011
Сообщений: 22
|
![]()
Завязываем с множественным и переходим на си-решотку ,)
|
![]() |
![]() |
![]() |
#37 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
шарп не панацея.
криворукость и там может сотворить страшное. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#38 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Ну я то понимаю, но ведь ни один из классов не содержит ни виртуальных таблиц ни переменных, потому, казалось бы, они все должны ссылаться на один адрес. В gcc, кстати, так и происходит. Ну да ладно, оставим это на совести разработчиков компиляторов.
|
![]() |
![]() |
![]() |
#39 |
Пользователь
Регистрация: 27.02.2011
Сообщений: 22
|
![]()
Разработчики как бы намекают, юзайте & или *
|
![]() |
![]() |
![]() |
#40 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]()
Народ, покажите что тут скажет после VC'шного компилятора...
Код:
Код:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение свойств объекта не активируя его | ndvikulov | Microsoft Office Excel | 16 | 16.09.2010 20:14 |
Передача метода объекта. | the_deer_one | Общие вопросы C/C++ | 8 | 09.09.2010 15:07 |
Можно ли в макрос передать имя объекта, его вызывающего | buagbu | Microsoft Office Excel | 3 | 16.04.2010 08:54 |
Передача объекта в функцию | Юра_YUYU | Общие вопросы C/C++ | 14 | 18.01.2010 16:00 |
Проверка объекта после его уничтожения | AHTuKiLLeR | Общие вопросы Delphi | 1 | 19.06.2009 10:43 |