Здравствуйте, Ыукпун, Вы писали:
Ы>Ы>а) typedef CBase type;
Ы>
Ы>Ы>б) class type : publc CBase {};
Ы>
Ы>По идее type в обоих случаях должен получиться одинаковым. И совпадать с CBase.
Это ложный посыл. В первом случае да — type другое имя для CBase. Во втором же случае type это самостоятельный тип связанный с CBase лишь отношением наследования.