多态:
父类的指针或引用指向子类
静态多态:
当子类转换为父类(引用或指针)后,调用的仍是子类重写的方法。
编译阶段确定了函数地址(即父类的函数),也就是地址早绑定。
#include<iostream>
#include<cstdio>
using namespace std;
class A{
public:
void func(){
cout<<"A的func()"<<endl;
}
};
class B:public A{
public:
void func(){
cout<<"B的func()"<<endl;
}
};
// 地址早绑定 (在编译阶段确定了函数地址)
void f(A &a){
a.func(); // 向上转化 子类默认向父类转化
}
int main(){
B b = B();
f(b); // 子类的引用 调用 父类的方法
return 0;
}