"Understanding Inheritance in C++"(理解C++中的继承)
"Understanding Inheritance in C++"(理解C++中的继承)
这个问题已经在这里有了答案:
我正在尝试学习C ++并编写了这段代码。 根据我的理解,这段代码应该产生输出“Derived Class”
,但输出是“Base Class”
。
请帮助我理解这个问题。
#include using namespace std; class Base { public: char* name; void display() { cout << name << endl; }
};
class Derived: public Base { public: char* name; void display() { cout << name << ", " << Base::name << endl; } }; int main() { Derived d; d.name = "Derived Class"; d.Base::name = "Base Class"; Derived* dptr = &d; Base* bptr = dptr; bptr->display(); }
请把我视为初学者并解释为什么它的输出是“Base Class”
admin 更改状态以发布 2023年5月23日