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
}
};
私有变量的想法是能够隐藏该变量/函数/等,使其免受当前类以外的任何内容的影响。甚至派生类也可能无法访问私有变量。如果使搜索函数成为存储树的类的成员函数,则可以访问它。如果要在类外部访问它,请创建一个返回它的函数。
附言如果你在这里发布你的代码,你可能会获得一些关于如何更好地设计你的代码的有用见解。
我有一个在树中搜索特定数字的功能
您的函数是否属于具有私有变量的类?
相关文章:
- c++ 在非类函数中使用类变量
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 如何在构造函数中访问类变量以分配它们,而无需在C++中使用此指针
- 将函数更改为具有设置函数输入变量的方法的类
- 从静态成员函数访问私有非静态类变量 - C++
- 重写子类构造函数中的父类变量
- 调用函数时,私有类变量不会更改
- 指向类变量中函数的指针
- 作用域仅限于函数的类变量
- 修改类中调用另一个类函数的变量
- 在 android 上从 Java 调用C++类方法或函数,而无需在每次调用时重新创建类/变量
- 使用类成员函数进行变量初始化
- 禁用成员函数和变量,而不使用继承或类专用化
- 如何制作特定类的成员函数或变量(如 STL 容器)的别名
- 某些函数在编译时会忽略类变量和标头中的函数
- 为什么我不能从我的 setMonth 函数更改类变量"name"?
- C :类 - 超载构造函数 - 单个变量
- 函数内部的静态变量与c++中的静态类变量
- 显示类变量.在 printf 函数中使用字符串作为参数
- 关于函数类变量的更多信息