C ++: любой способ предотвратить создание абстрактного базового класса?

Помимо чистой виртуальной функции, есть ли способ предотвратить создание абстрактного базового класса?

Я могу сделать это:

class BaseFoo
{
    virtual void blah() = 0;
};

class Foo : public BaseFoo
{
    virtual void blah() {}
};

но я бы хотел избежать таблица. (согласно мой другой вопрос о виртуальных деструкторах )

Microsoft ATL имеет ATL_NO_VTABLE для выполнения этого (или, по крайней мере, я думаю, что это то, что он делает ...)

15
задан Community 23 May 2017 в 12:17
поделиться