小编use*_*677的帖子

C++中的动态绑定?

我需要对C++中的动态绑定做一些澄清.
我解释我的问题.
我必须使用二叉搜索树来实现字典.我决定也实现一个AVL树(自我二元搜索树).我已成功实现了两个类:BST(二叉搜索树)和扩展BST的AVL.我的程序工作正常.
我的目标是只有一个指针,我可以从BST类切换到类AVL,向用户询问"你想使用哪种结构?" 在计划开始时.
其余代码是相同的,因为BST和AVL具有相同的方法名称(即使它们执行不同的操作 - >覆盖).
我通过这种方式达到了我的目标:

cout << "whitch structure would you like to use? [1] for BST, [2] for AVL"; 
short choise;  
cin >> choise;

BST a;  
AVL b;  
BST* dictionary;

if (choise == 1)
    dictionary = &a;  
else if (choise == 2)
    dictionary = &b;    
.  
.  
.  
dictionary->doSomething();
Run Code Online (Sandbox Code Playgroud)

我的问题是:
这是一个正确的方法吗?这是动态绑定的一个例子吗?

感谢您的关注,如果我没有正确解释我的问题,我很抱歉,这是我在这个精彩网站上的第一篇文章!

c++ dynamic-binding

0
推荐指数
1
解决办法
224
查看次数

标签 统计

c++ ×1

dynamic-binding ×1