73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||
1 | ||||||
Наследование классов24.03.2013, 04:29. Показов 979. Ответов 10
Метки нет (Все метки)
0
|
24.03.2013, 04:29 | |
Ответы с готовыми решениями:
10
Автоматическая генерация классов С ++ с UML диаграмм классов. Наследование в с++. Абстрактные классы. WhiteStarUML Заменить наследование классов на наследование интерфейсов Наследование классов. Копирование производных классов Наследование классов |
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
24.03.2013, 05:07 | 2 | |||||
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
24.03.2013, 11:53 [ТС] | 3 |
Еще бы не работало, ты в производном классе method1() переопределил. Какой тогда смысл в наследовании? Родительский класс вообще можно убрать и в производном убрать ": public PARENT" - и ничего не изменится. Мне же нужно другое - в первом посте всё спрошено.
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
24.03.2013, 12:44 | 4 | |||||
1
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
24.03.2013, 15:23 [ТС] | 5 |
Во, спасибо.
Добавлено через 2 часа 34 минуты Блин, теперь другая проблема, в первом посте просто тест как-бы, реальный код над которым я работаю намного длиннее, вобщем я добавил ключевое слово virtual в обьявлении метода базового класса и теперь при попытке его вызова вылетает ошибка - нарушение прав доступа, в отладчике я вижу, что он чота адрес получает из какойто таблицы, а там вместо адреса 0x00000004. В чем причина может быть?
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
24.03.2013, 15:56 | 6 |
проблема в реальном коде, с которым вы работаете. простой пример ведь рабочий. значит что-то намудрили у себя. без этого реального кода можно только гадать что там произошло. может объект, у которого вызывается виртуальным метод не проинициализирован, может много чего еще. короче без кода не получится сказать что там.
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||||||||||||||||||||||||||
24.03.2013, 16:01 [ТС] | 7 | ||||||||||||||||||||||||||
ну если комуто хватит терпения это всё прочитать (-:, вот код:
cl2quad.h
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
24.03.2013, 16:22 | 8 |
чета не увидел наследников. есть один глобальный объект. у него вызывается функция. пусть и виртуальная. ничего страшного по идее не должно быть в таком варианте. это точно весь код? зачем вообще про виртуальность был вопрос?
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
24.03.2013, 16:37 [ТС] | 9 |
в попытках найти где ошибка, поубирал всех наследников физически, если всмотреться в код можно найти рудименты ввиде закомментированных строк.
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
24.03.2013, 16:58 | 10 | |||||
Очень похоже на классический случай попытки вызова метода с нулевым this:
0
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||
24.03.2013, 18:43 [ТС] | 11 | |||||
Добавлено через 1 час 21 минуту this вообщем хороший, годный, но почему-то табица _vfptr содержит нули, к чему бы это? Добавлено через 7 минут Наверное не стоило ZeroMemory делать в конструкторе loooooooool. Всем спасибо, вы самые лучшие собеседники
0
|
24.03.2013, 18:43 | |
Помогаю со студенческими работами здесь
11
Наследование классов Наследование классов. Наследование классов наследование классов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |