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

C++ Sending a private class variable into a function

本文关键字:函数 类变量 C++      更新时间:2023-10-16

我正在编写一个处理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
    }
};

私有变量的想法是能够隐藏该变量/函数/等,使其免受当前类以外的任何内容的影响。甚至派生类也可能无法访问私有变量。如果使搜索函数成为存储树的类的成员函数,则可以访问它。如果要在类外部访问它,请创建一个返回它的函数。

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

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

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