C++ virtual的作用,基类virtual函数,将继承类的重载函数绑定为基类的函数这里是靠基类的虚函数列表,将继承类的重载函数的地址指向到表里,而基类中只存放虚函数列表的首地址,通过首地址偏移找到继承类的重载函数,这是动态绑定,动态绑定发生在运行的时候
无virtual是静态绑定,静态绑定是在编译的时候确定的,就是基类调用成员函数,就是基类的函数,继承类的重载函数调用的就是继承类的重载函数
由以上可以看出virtual是多态的基础,有了virtual,继承类的重载函数才可以是不同的实现,同时通过基类就可以访问到继承类的成员函数