软讯网络 > 编程语言 > C/C++ > 编程交流与学习--More Effective C++的学习-Item M3:不要对数组使用多态
【标 题】:编程交流与学习--More Effective C++的学习-Item M3:不要对数组使用多态
【关键字】:
--More,Effective,C++,-Item,M3
【来 源】:http://blog.csdn.net/swordll80/archive/2006/09/17/1233124.aspx
编程交流与学习--More Effective C++的学习-Item M3:不要对数组使用多态
语言规范中说通过一个基类指针来删除一个含有派生类对象的数组,结果将是不确定的。多态和指针算法不能混合在一起来用,所以数组与多态也不能用在一起。
Eg:class BST { ... }; class BalancedBST: public BST { ... };
void printBSTArray(ostream& s, const BST array[],int numElements){…}
printBSTArray函数在运行期无法判断array所指向对象的大小,因此无法对array所指向对象进行正确访问。