Мне нужна помощь, чтобы все понять правильно.
Я хочу проверить указатель на абстрактный класс, если это экземпляр определенного дочернего класса.
У меня есть один абстрактный класс "Кунде »и два дочерних класса« Фирменкунде »и« Приваткунде », которые наследуют методы Кунде.
Для поиска по "int knr" (номер клиента int) я использую в качестве возвращаемого типа указатель на "kunde".
Внутри класса базы данных я получаю "kdstatus" и использую
kunde * kd = new privatkunde(0);
, если статус PK или новый firmenkunde (0), если это FK.У абстрактного класса kunde нет атрибута, который я мог бы использовать для сохранения статуса.
Таким образом, я надеялся, что смогу спросить, будет ли возвращенный указатель экземпляром класса privatkunde или firmenkunde.Но я не нашел никакого способа сделать это.
MessageBox::Show(marshal_as<String^>(typeid(kd).name()));
Я спрашивал имя typeid, но это только возвращает "class kunde *" и это не то, что я хочу знать.
Есть ли способ обойти эту проблему?