我正在练习继承,并且有一个名为Person
的基类。 Person
有一个名为age
的变量,在Person
类的构造函数中,我将age
设置为5
并在屏幕上显示年龄。我有另一个名为ballPerson
的类,该类从age
继承Person
并将age
设置为6
。当我为我的Person
类和ballPerson
类创建对象时,值5
(age
类中Person
的值)被打印两次。为什么?
人
class Person
{
public:
Person();
int age;
~Person();
};
人.cpp
Person::Person() : age(5)
{
std::cout << age;
}
ballPerson.h
class ballPerson : public Person
{
public:
ballPerson();
~ballPerson();
};
ballPerson.cpp
ballPerson::ballPerson()
{
age = 6;
std::cout << age;
}
main.cpp
int main()
{
Person p;
ballPerson bp;
system("pause");
return 0;
}
最佳答案
打印5
:
Person p;
并显示
56
:ballPerson bp;
因为
Person
(基类)构造函数是从ballPerson
构造函数调用的。