4 ms·
I would caution against using this pattern. In particular, this does not scale to: class A {}; class B : public A {}; class C : public B {}; Usin
by KonkeyDong69 9y ago
I would caution against using this pattern. In particular, this does not scale to:
class A {};
class B : public A {};
class C : public B {};
Using the convention of defining `base_type` in the base class means that C will expect B to define `base_type`, which means that B will be cut off from A's `base_type`. This then forces you to use different identifiers, which brings you back to square one (you might as well just explicitly write out the class in that case).
- Koshkin 9y ago> brings you back to square one Not exactly, since C's constructor does not call A's directly. (On the other hand, base_class::base_class might just do the trick.)