Как проверить тип класса в C++?
В Java я использовал instanceof
.Что является эквивалентом instanceof в C++?
Я предпочитаю не использовать динамический актерский состав, а только классический C++.
Есть ли какой-нибудь способ?
Разъяснение:
Это не дубликат another question in StackOverflow, так как я спросил, как я могу найти его без использования dynamic_cast
. В другом вопросе ответом было его использование. Не указывайте его как дублируемое.
Что вы подразумеваете под классическим C++, если не dynamic_cast? И что вы на самом деле пытаетесь сделать? – chris
Я имею в виду, для 'dynamic_cast' вам нужно использовать' std :: ... '. По какой-то причине я не должен ее использовать. Я создал базовый класс и некоторые из них. Когда я получаю объект, я хочу выполнить операцию, связанную с определенным производным классом, но я получил его в цикле, поэтому он определяется как базовый. В Java, 'instanceof', я мог бы знать, какой именно тип. Но в C++ без использования 'dynamic_cast', как я могу узнать? – Aharon
'dynamic_cast' - это языковая функция, а не функция библиотеки. Похоже, вы просто хотите, чтобы виртуальная функция переопределяла производный класс. – chris