Поскольку базовые классы не должны знать о производных от них классах (что может создать циклическую зависимость), метод базового класса не может даже знать, какие дополнительные поля были добавлены в производный класс. Более того, sizeof
не может быть полиморфным - он работает только со статическими типами и структурами. Следовательно, нет смысла пытаться что-то вроде sizeof(*this)
.
Так что это не сработает.
Обновление: ну, теперь это совершенно другой вопрос. С шаблонами это может даже работать FWIW (у меня нет IDE, чтобы попробовать это). Но обратите внимание, что теперь у вас практически есть шаблонная функция с параметром типа, который может быть чем угодно - только для вас, программиста, только для производных классов. И в целом, я не вижу, что вы на самом деле выиграете с этим решением, что также может быть связано с отсутствием контекста.