Item 3:Never treat arrays polymorphically.(More Effective C++)

本文介绍了一个使用C++实现的二叉搜索树(BST)类和其派生类BalancedBST,演示了如何创建这些类的实例并打印它们的数据。通过重载流插入运算符来显示BST对象的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class BST
 6 {
 7 private:
 8     int a;
 9 
10 public:
11     BST(int n) : a(n){};
12     int getData() { return a; }
13     friend ostream& operator<<(ostream &os, BST &bst);
14 };
15 
16 ostream& operator<<(ostream &os, BST &bst)
17 {
18     cout <<  bst.getData();
19     return os;
20 }
21 
22 class BalancedBST : public BST
23 {
24 private:
25     int number;
26 
27 public:
28     BalancedBST(int n1, int n2) : BST(n1), number(n2){}
29 };
30 
31 void print(BST b[], int count)
32 {
33     for(int i=0; i<count; i++)
34     {
35         cout << b[i] << endl;
36     }
37 }
38 
39 int main()
40 {
41     BalancedBST bb1(1,3);
42     BalancedBST bb2(2,4);
43     BalancedBST a[2= {bb1, bb2};
44     BST b[2= {bb1, bb2};
45     print(a, 2);
46     print(b, 2);
47 
48     cin.get();
49     return 0;
50 }

转载于:https://www.cnblogs.com/zhtf2014/archive/2011/06/07/2074532.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值