今天学习了多态性和虚拟函数。
多态性是面向对象程序设计的第三个重要特征。是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。
虚函数在基类用virtual声明成员函数为虚函数,在派生类中重新定义此函数,要求函数名、函数的参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体。
定义一个指向基类对象的指针变量,并使它指向同一类族中的某一对象。通过该指针变量调用此虚函数,此时调用的就是指针变量指向的对象的同名函数。
c++规定,当一个成员函数被声明为虚函数后,其派生类中原型相同的函数都自动成为虚函数。派生类没有对基类的虚函数重新定义,则派生类继承其直接基类的虚函数。
静态联编是出现在运行前的联编(在编译时完成),也称为早期联编。动态联编:联编工作在程序运行阶段完成的情况。在编译、连接过程中无法解决的联编问题,要等到程序开始运行之后再来确定。也称为滞后联编。
要注意虚函数直到覆盖前都为虚函数。
动态空间是不确定需求量时使用。