|
|
|
|
|
by KonkeyDong69
3091 days 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). |
|
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.)