我打算用C ++编写一个二进制搜索树,它将由一些并发进程来创建。当我正在使用不同类型的对象(UserNode等)时,我试图编写它,使得这些不同的节点类型继承自基本节点类型。插入适用于此设置。
由于并发进程迭代树并且应该根据节点的类型执行不同的操作,我尝试使用typeid()。name()。虽然在插入树之后,所有节点都会自动转换为基本节点类型,并且原始类型名称将丢失。我的目标是使用typename作为一种方法来防止必须在每个节点中使用另一个变量来进行并发进程中的节点类型分类。
我的兄弟们有什么想法吗? (模板是不可能的,因为它们仍然导致节点类型在每个单独的树中保持一致)