gpt4 book ai didi

c++ - 为什么继承值打印了两次?

转载 作者:行者123 更新时间:2023-11-28 02:08:55 25 4
gpt4 key购买 nike

我正在练习继承,我有一个名为 Person 的基类。 Person 有一个名为 age 的变量,在 Person 类构造函数中,我将 age 设置为 5 并在屏幕上打印年龄。我有另一个名为 ballPerson 的类,它从 Person 继承 age 并将 age 设置为 6。当我为我的 Person 类和我的 ballPerson 类创建一个对象时,值 5(age 的值在 Person 类中)被打印了两次。为什么?

人.h

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;
}

主要.cpp

int main()
{
Person p;
ballPerson bp;


system("pause");
return 0;
}

最佳答案

打印5:

Person p;

这会打印 56:

ballPerson bp;

因为 Person(基类)构造函数是从 ballPerson 构造函数调用的。

关于c++ - 为什么继承值打印了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com