1.子类指针强转成父类指针,使用这个父类指针调用成员函数,本来是应该调用父类自己的成员函数的,但由于子类的同名成员函数为虚函数(父类的对应成员函数标为虚函数了),强转失效了,调用的还是子类的成员函数。 2.父类指针强转成子类指针,使用这个子类指针调用成员函数,本来是应该调用子类自己的成员函数的,但由于父类...
在C++中,通过父类指针指向子类对象并调用子类成员函数,通常是通过虚函数(virtual function)机制来实现的。以下是如何做到这一点的详细步骤和代码示例: 1. 创建一个父类,并定义至少一个虚函数 首先,我们定义一个父类,并在其中声明一个虚函数。虚函数允许在派生类(子类)中被重写。 cpp class Parent { public: /...
把子类对象的地址给父类型的指针,父类可以调用子类成员变量,但无法调用子类的成员函数。因为编译器把指针类型和成员函数绑定在一起了。那如何调用到子类成员函数呢?给父类和子类都添加一个隐形的成员:函数地址列表。这个列表就是类的成员变量,父类型的指针是可以访问成员变量的,所以可以访问函数地址列表,通过这个列表,...
Fun没有virtual。去补虚函数的知识吧。