上述代码输出:
A Create!
Create BBBBBBBBBBB
A fun2
B fun1
delete BBBBBBBB
delete A!
Press any key to continue
如果fun1()函数为非虚函数时输出如下:
A Create!
B Create!
A fun2()
A fun1()
delete B!
delete A!
Press any key to continue
本文通过一个C++示例展示了虚函数与非虚函数的区别。在派生类中重写基类的虚函数时,通过基类指针调用时将执行派生类的方法,而非虚函数则会直接执行基类的方法。
上述代码输出:
A Create!
Create BBBBBBBBBBB
A fun2
B fun1
delete BBBBBBBB
delete A!
Press any key to continue
如果fun1()函数为非虚函数时输出如下:
A Create!
B Create!
A fun2()
A fun1()
delete B!
delete A!
Press any key to continue

被折叠的 条评论
为什么被折叠?