我撞墙碰壁,试图记住如何处理继承。假设我们有一个称为“水果”的父/基类和一个名为“苹果”的子/派生类。苹果与水果的区别仅在于它有一个额外的变量,称为数字。我们将如何实现它,以便Apple默认情况下始终调用值为“ Apples”(名称)和SNACK(类型)的父类构造函数?
水果将照此实施(
Fruits::Fruits(string name, KIND type): myName(name), myKind(type)
{}
如何实现Apple,以便如果将Apple称为Apples(),则将其默认名称设置为“ Apples”,并键入SNACK,编号为5?
它是否正确?
Apples::Apples() : Fruits("Apple", SNACK)
{
number = 5;
}
Apples::Apples(int num) : FoodItem("Pancakes", BREAKFAST )
{
}
最佳答案
这种方式是正确的:
Apples::Apples() : Fruits("Apple", BREAKFAST)
{
number = 5;
}
但这种方式会更好,因为它更具可读性和一致性:
Apples::Apples() : Fruits("Apple", BREAKFAST), number( 5 )
{
}
关于c++ - C++继承:调用父类构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34164269/