虚函数是实现多态的基础,在定义基类虚函数时,会为该基类分配一个虚函数表,虚函数表记录了虚函数的地址。
子类继承基类时,如果重写了虚函数,则会覆盖这个地址,形成新的虚函数表,否则就继承基类的虚函数地址。
当实例化子类对象时,虚函数指针则指向该对象的虚函数表中该虚函数的地址,并执行相应的方法。
虚函数是实现多态的基础,在定义基类虚函数时,会为该基类分配一个虚函数表,虚函数表记录了虚函数的地址。
子类继承基类时,如果重写了虚函数,则会覆盖这个地址,形成新的虚函数表,否则就继承基类的虚函数地址。
当实例化子类对象时,虚函数指针则指向该对象的虚函数表中该虚函数的地址,并执行相应的方法。