虚函数与多态
文章平均质量分 79
isnil
这个作者很懒,什么都没留下…
展开
-
虚函数的规则
对于执行为虚拟的函数,在任意派生类和基类中声明和定义它时,必须要有相同的名称和参数列表。而且,如果把基类的函数声明为const,就必须把派生类函数也声明为const。一般情况下,函数在派生类中的返回类型也必须与基类中的相同,但当基类中的返回类型是类类型的指针或引用时例外,在这种情况下,虚函数的派生类版本可以返回更特殊的类型的指针或引用。这种返回类型使用的技术术语是”协变性“。虚函数的定义原创 2009-06-10 13:15:00 · 365 阅读 · 0 评论 -
虚函数的原理
C++扩展了其多态性,允许将派生类对象赋给指向基类的指针。因此,可以这样编写代码:Mammal * pMammal = new Dog;上述代码在堆中创建一个新的Dog对象,并返回一个指向该对象的指针,然后将该指针赋给一个Mammal指针。之所以可以这样做是因为狗是一种哺乳动物。然后就可以用这个指针调用Mammal类的任何方法。 创建派生类对象(如Dog对象原创 2009-06-11 14:43:00 · 662 阅读 · 1 评论