MoreEffectiveC++:不使用多态性数组

MoreEffectiveC++:不使用多态性数组,第1张

MoreEffectiveC++:不使用多态性数组,第2张

类继承最重要的特性是可以通过基类的指针或引用来操作派生类。这样的指针或引用具有行为多态性,就好像它们同时具有多种形式。C++允许你通过基类指针和引用来操作派生类的数组。但是,这根本不是一个特性,因为这样的代码根本无法如你所愿的运行。

假设您有一个BST类(如搜索树对象)和一个继承自BST类的派生类BalancedBST:

BST类{...};
class balanced BST:public BST {...};

在真实的程序中,这样的类应该是一个模板类,但在这个例子中并不重要。添加模板只会让代码更难阅读。为了便于讨论,我们假设BST和BalancedBST只包含int类型的数据。

有这样一个函数,可以打印出BST类数组中每个BST对象的内容:

void printBSTArray(ostream& s,
const BST array[],
int numElements)
{
 for (int i = 0; i < numElements; ) {
  s

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » MoreEffectiveC++:不使用多态性数组

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情