面向对象的程序可以说是一系列对象实体通过互相发送消息的方法进行相互通讯,同时这些消息本身应该具有一定的独立性,我们可以自由地发出消息而无须知道接收方是谁。 虚函数的内涵同上面的一样。虚函数的调用不必在意是通过哪种类型的对象向这些虚函数发出调用请求的。虚函数表示函数是以间接的方式被调用而不是由一个固定的函数入口地址来调用。定义方式:Virtual return_type name (urguments)(virtual void name(void)=0 表示该函数是纯虚函数,它与一般虚函数没什么区别,只是它里面没实现语句);它所有的派生类都默认地保持virtual类型,它将被延迟绑定,即知道程序运行时才决定该函数的入口地址。(内插函数不能加virtual而变成虚函数) 虚函数的作用是为了配合通过基类指针访问某一对象的操作。如果在派生类里没有对某一函数进行重载,也就不必把此函数声明成虚函数。同样代码的虚函数比普通函数更占内存。 具有纯虚函数的类定义为抽象类,它在使用时有个致命的限制:它不能被直接创建对象,但可以声明一个指向它的指针。

评论