我正在练习继承,并且有一个名为Person的基类。 Person有一个名为age的变量,在Person类的构造函数中,我将age设置为5并在屏幕上显示年龄。我有另一个名为ballPerson的类,该类从age继承Person并将age设置为6。当我为我的Person类和ballPerson类创建对象时,值5age类中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构造函数调用的。

08-17 05:39