繁体   English   中英

在何处实现堆栈类(将在非递归二进制搜索功能中使用)

[英]Where to implement a stack class (to be used in a non recursive binary search function)

首先,这肯定是我的功课,但我不会要求代码。

在BST.h文件中,我实现了所有私有成员,函数和公共函数。 但是,我发现在哪里实现堆栈(指向BSTNode的指针堆栈)的BSTNode

会是这样吗

#ifndef BINARYSEARCHTREE_H
#define BINARYSEARCHTREE_H

class BinarySearchTree
{
   struct Node {
      Node* left;
      Node* right;
      int val;
   };
};

#endif

那么我是在BinarySearchTree类内部还是在同一.h文件中的类外部实现堆栈类?

教授没有要求2个不同的.h文件,所以我认为它应该在内部或外部。 如果它在binarysearchtree类内部,那么堆栈类的构造函数呢?

您可能想在BST类之外实现堆栈。 通常,当嵌套类专门与父类一起使用时,将使用嵌套类。 例如,嵌套Node是因为没有BST就不会使用Node

堆栈实际上与BST无关,即使您打算将其用于BST 如果您设计一个好的stack ,那么您就可以重用它,而无需将其拉出BST

只要头文件中包含多个并且是逻辑连接的类声明,这是不正确的。 但这归结为风格和项目要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM