Можно ли с помощью смешной инициализации и/или отбрасывания базовым классам получить экземпляр абстрактного класса или класса, который имеет чистые виртуальные методы?Может ли компилятор VS C++ пропустить экземпляр абстрактного класса
Я использую компилятор VS14, и мне интересно, может ли компилятор пропустить это? Класс и его использование находятся в отдельных сборках.
Чтобы быть ясным, я не пытаюсь достичь этого, просто глядя на ошибки и задаваясь вопросом, может ли это привести к исключению во время выполнения вызова виртуального метода.
... Вы уверены, что не имеете дело с проблемой [срезания] (http://stackoverflow.com/questions/274626/what-is-object-slicing)? Он * кажется * связан ... – jaggedSpire
@jaggedSpire Вы не можете нарезать абстрактный класс, так как вы не можете создать экземпляр абстрактного класса. – Brian
Если вы видите вызов чистой виртуальной функции, это потому, что функция вызывается (прямо или косвенно) из конструктора или деструктора абстрактного класса. – eran