#include <iostream>
class Base
{
public:
// 在父类方法中调用重写函数,若子类实现父类的方法,则会调用子类方法
void DoSomeThing()
{
SameFunc();
}
virtual void SameFunc()
{
std::cout << "parent" << std::endl;
}
};
class Devied : public Base
{
public:
void SameFunc()
{
std::cout << "child" << std::endl;
}
};
int main()
{
Base *base = new Devied();
// 通过父类函数调用虚函数来达到调用子类方法
base->DoSomeThing(); // expect child
// 父类指针调用重写函数
base->SameFunc();
}
C++调用子类函数
于 2022-03-02 18:53:31 首次发布