C++问题?
Base类有2个函数A,虚函数BBase类的函数A调用了函数B子类继承Base类,没有重写Base类的函数A,重写了Base类的函数B如果调用子类的函数A,实际运行顺序是...
Base类有2个函数A,虚函数B
Base类的函数A调用了函数B
子类继承Base类,没有重写Base类的函数A,重写了Base类的函数B
如果调用子类的函数A,实际运行顺序是什么样的? 展开
Base类的函数A调用了函数B
子类继承Base类,没有重写Base类的函数A,重写了Base类的函数B
如果调用子类的函数A,实际运行顺序是什么样的? 展开
展开全部
当调用子类的函数A时,实际的运行顺序如下:
子类的函数A被调用。
子类的函数A内部会调用基类的函数B。
由于基类的函数B是虚函数,因此会根据对象的实际类型来确定要调用的函数。
由于子类重写了基类的函数B,所以实际会调用子类的函数B。
子类的函数B执行完毕后,控制流回到子类的函数A,继续执行子类函数A中的其他代码。
总结起来,调用子类的函数A会先执行子类的函数A本身,然后在函数A内部调用基类的函数B,最后再回到子类的函数A继续执行。这样实现了函数的多态性,确保根据对象的实际类型调用相应的函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询