C++中的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件:
第一,只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定的;
第二,必须通过基类类型的引用或指针进行函数调用。
代码说明:
分别输出为:
Derived Print
Derived Print
Base Print
前面两个调用都符合两个条件,故出现多态现象,第三个调用不符合条件二没有多态。
C++中的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件:
第一,只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定的;
第二,必须通过基类类型的引用或指针进行函数调用。
代码说明:
分别输出为:
Derived Print
Derived Print
Base Print
前面两个调用都符合两个条件,故出现多态现象,第三个调用不符合条件二没有多态。