Требуется реализовать функцию, которая принимает на вход два указателя на базовый класс Expression, и возвращает true, если оба указателя указывают на самом деле на объекты одного и того же класса, и false в противном случае.
C typeid все делается в одну строку:
bool check_equals(Expression const *left, Expression const *right)
{
return (typeid(*left) == typeid(*right));
}
А как сделать тоже самое без typeid и dynamic_cast?