|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2014, 11:00 | #1 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
Приведение типа?
Есть класс А, его подкласс В.
В методе подкласса В есть строка Return ((B*) A::metodA(parametr); Что такое (В*) - приведение типа? Если да, то как мы можем по умолчанию приводить к абстрактному типу? (В коде нет явного описания оператора приведения...) Если нет - то что это? Пс: metodA потусловию должен возвращать А*... |
11.04.2014, 13:03 | #2 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
зависит от того что за metodA
Цитата:
да все ок там. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 11.04.2014 в 13:05. |
|
11.04.2014, 13:03 | #3 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Да. Это приведение типа. Мы приводим к указателю на абстрактный класс. И что такое подкласс, наследник?
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
11.04.2014, 13:30 | #4 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
Да, класс В является публичным наследником А.
То что все нормально я понял так как программа запустилась, а вот почему - не понял... РАзве не должно быть явного приведения типа? Думал так можно делать только для стандартных типов, например (char *) и т.д.... И что так возможно для любых классов? |
11.04.2014, 13:33 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
11.04.2014, 13:38 | #6 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
Интересно... А есть какие-то примеры, когда 100: не будет работать или наоборот в каких-то случаях будет обязательно работать?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять приведение типа в Turbo Pascal | ~Sл@\/яH~ | Паскаль, Turbo Pascal, PascalABC.NET | 18 | 10.11.2013 22:34 |
как сделать из числа типа real число типа integer? | gylayko | Помощь студентам | 6 | 15.09.2012 11:41 |
динамическое приведение типа | the_deer_one | C# (си шарп) | 9 | 25.08.2012 20:59 |
Каким образом сохранить цвет. Типа в переменную типа TColor ? | serres | C++ Builder | 5 | 07.12.2010 16:19 |
Запись числа типа инт в ячейку двумерного массива типа char | AxenicX | Помощь студентам | 1 | 25.09.2009 00:35 |