类继承实现方法.h
来自「一个显示二叉树结构和相关算法的小程序,重在结构」· C头文件 代码 · 共 43 行
H
43 行
#ifndef SECLEAFNINTL_H
#define SECLEAFNINTL_H
class VarBinNode{
public:
virtual bool isLeaf()=0;
virtual void trav()=0;
};
class LeafNode:public VarBinNode{
private:
int var;
public:
LeafNode(const int& val)
{var=val;}
bool isLeaf(){return true;}
int value(){return var;}
void trav(){cout<<"Leaf:"<<value()<<endl;}
};
class IntlNode:public VarBinNode{
private:
VarBinNode* lc;
VarBinNode* rc;
char opx;
public:
IntlNode(const char& op,VarBinNode* l,VarBinNode* r)
{ opx=op; lc=l; rc=r; }
bool isLeaf(){return false;}
VarBinNode* leftchild(){return lc;}
VarBinNode* rightchild(){return rc;}
char value(){return opx;}
void trav(){
cout<<"Internal:"<<value()<<endl;
if(leftchild()!=NULL)leftchild()->trav();
if(rightchild()!=NULL)rightchild()->trav();
}
};
void traverse(VarBinNode *subroot){
if(subroot!=NULL)subroot->trav();
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?