我正在用 C++ 编写一个处理二叉搜索树的程序。我正在使用一个包含类“treeNode”的 .h 文件,并且我有一个函数可以在树中搜索特定数字并返回一个关于是否找到该数字的布尔值。我的问题是我有一个名为“root”的“treeNode”类的私有类变量,它是一个指针,指向树中的第一个元素。我需要以某种方式将该变量从 .cpp 文件作为函数参数发送到搜索函数中。
我该怎么做呢?每次我尝试时,我都会收到一个错误,告诉我它是一个私有类变量。课程让我有点困惑。
谢谢!
您可以参考此框架并构建您的类。
class treeNode
{
private:
int data;
};
class tree
{
private:
treeNode* root;
public:
bool search(int data)
{
//root is accessible here. No need to pass as argument
}
};
私有变量的想法是能够从您正在使用的当前类之外的任何东西中隐藏该变量/函数/等。即使派生类也可能无法访问私有变量。如果您使搜索函数成为存储树的类的成员函数,那么您将能够访问它。如果你想在类之外访问它,那么创建一个返回它的函数。
PS 如果你在这里发布你的代码,你可能会获得一些关于如何更好地设计你的代码的有用见解。
我有一个在树中搜索特定数字的功能
您的函数是具有您的私有变量的类的一部分吗?