Освен наличието на чиста виртуална функция, има ли начин да се предотврати инстанциране на абстрактен базов клас?
Мога да го направя:
class BaseFoo
{
virtual void blah() = 0;
};
class Foo : public BaseFoo
{
virtual void blah() {}
};
но бих искал да избегна vtable. (според другия ми въпрос относно виртуалните деструктори)
Microsoft ATL има ATL_NO_VTABLE, за да постигне това (или поне мисля, че това е, което прави...)