C ++将私有类变量发送到函数中

时间:2012-04-27 05:11:26

标签: c++ class private

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

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

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以参考此骨架并构建您的类。

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

答案 1 :(得分:0)

私有变量的想法是能够隐藏除您正在使用的当前类之外的任何变量/函数/ etc。甚至派生类也可能无法访问私有变量。如果使搜索功能成为存储树的类的成员函数,那么您将能够访问它。如果要在类之外访问它,则创建一个返回它的函数。

P.S。如果您在此处发布代码,则可以获得有关如何更好地设计代码的一些有用见解。

答案 2 :(得分:0)

  

我有一个在树中搜索特定数字的功能

您的函数是否属于具有私有变量的类?