C++;将私有类变量发送到函数中 我正在编写一个处理C++中的二叉搜索树的程序。我使用的是一个包含类“treeNode”的.h文件,我有一个函数,可以在树中搜索特定的数字,并返回一个布尔值来判断是否找到了该数字。我的问题是,我为“treeNode”类有一个名为“root”的私有类变量,它是一个指针,指向树中的第一个元素。我需要以某种方式将该变量作为函数参数从.cpp文件发送到搜索函数中

C++;将私有类变量发送到函数中 我正在编写一个处理C++中的二叉搜索树的程序。我使用的是一个包含类“treeNode”的.h文件,我有一个函数,可以在树中搜索特定的数字,并返回一个布尔值来判断是否找到了该数字。我的问题是,我为“treeNode”类有一个名为“root”的私有类变量,它是一个指针,指向树中的第一个元素。我需要以某种方式将该变量作为函数参数从.cpp文件发送到搜索函数中,c++,class,private,C++,Class,Private,我该怎么做?每次尝试时,我都会收到一个错误,告诉我这是一个私有类变量。上课让我有点困惑 谢谢 您可以引用此框架并构建类 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

我该怎么做?每次尝试时,我都会收到一个错误,告诉我这是一个私有类变量。上课让我有点困惑


谢谢

您可以引用此框架并构建类

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
    }
};

私有变量的概念是能够隐藏该变量/函数/etc,使其不受当前类的影响。即使是派生类也可能无法访问私有变量。如果将搜索函数设置为存储树的类的成员函数,则可以访问它。如果您想在类之外访问它,那么创建一个返回它的函数

另外,如果你在这里发布你的代码,你可能会获得一些关于如何更好地设计代码的有用见解

我有一个函数,可以在树中搜索特定的数字


您的函数是包含私有变量的类的一部分吗?

如果搜索函数是类的成员,为什么需要将根变量作为参数传递?我想我需要另一种方法来传递