现在位置: 首页 > 多态
2012-12-25 14:21 工业·编程 ⁄ 共 127字 暂无评论
因为数组中各元素内存地址与数组的起始地址的间隔是i*sizeof(一个在数组里的对象)。编译器为了建立正确遍历数组的执行代码,它必须能够确定数组中对象的大小。派生类的长度通常都比基类长。 由于数组成员对象到底是基类还是派生类无法确定,故操作易出现错误。   
阅读全文
    通过指向基类的指针和引用来操纵派生类对象,这是继承的一大特性。C++允许通过基类的指针和引用来操纵派生类数组。但是,结果是不确定的。比如,有个BST的类,以及一个叫BalancedBST的类,他继承自BST。 class BST{ ... }; class BalancedBST:public BST{ ... }; 考虑一个打印一个BST数组里的所有BST元素的函数: void printBSTArray(ostream &s, const BST array[], int numElements) { for(int i=0;i&...
阅读全文
2012-08-25 23:11 工业·编程 ⁄ 共 3109字 暂无评论
    多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的情形。在程序设计领域,一个广泛认可的定义是“一种将不同的特殊行为和单个泛化记号相关联的能力”。和纯粹的面向对象程序设计语言不同,C++中的多态有着更广泛的含义。除了常见的通过类继承和虚函数机制生效于运行期的动态多态(dynamic polymorphism)外,模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处...
阅读全文