繁体   English   中英

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

[英]C++ Sending a private class variable into a function

我正在编写一个使用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:如果您在此处发布代码,则可能会获得一些有关如何更好地设计代码的有用见解。

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

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

暂无
暂无

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

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