Я работаю над большим проектом, и на протяжении всего кода мы имеем классы typedef базового класса и вызываем его конструктор в списке инициализаторов. Почему это? Я привел пример, показывающий, что обычно делается. Насколько я могу судить, никакой разницы в конструкторах не произошло. Какая польза? Я попробовал Google, но не дал никаких результатов.Конструктор Baseclass, неявно называемый
#include <stdio.h>
class A
{
public:
A()
{
printf("A Constructed\n");
}
};
class B : public A
{
public:
typedef A super;
B()
:super()
{
printf("B Constructed\n");
}
};
int main()
{
B b;
return 0;
}
_ «? Что такое преимущество» _ То, что Вы можете рассчитывать на это делаются :-P ... –
Но конечно, он бы назвал конструктор базового класса? Не так ли? Разве это не так, как работает стандарт C++? – marsh
Вы спрашиваете, почему был вызван конструктор 'A'? Или вы спрашиваете, почему они переименовывают 'A' как' super'? –