如何在 C++ 中获取私有变量
how to get a private variable in c++
template<typename Type> class ListNode{
private:
Type nodeData;
ListNode *nextNode;
friend class SingleList<Type>;
ListNode():nextNode(NULL){}
ListNode(const Type item,ListNode<Type> *next=NULL):nodeData(item),nextNode(next){}
~ListNode(){
nextNode=NULL;
}
public:
Type GetData();
friend ostream& operator<< <Type>(ostream& ,ListNode<Type>&);
};
template<typename Type> Type ListNode<Type>::GetData(){
return this->nodeData;
}
//here, compiler said 'nodeData is a private member of ListNode<int>'
编译器说"nodeData是ListNode的私有成员">
如何获取私有变量?
或 C++ 中的任何 get/set 函数,如 Java?
是的,您应该使用 get/set 方法来获取数据。
要传递实际对象,您应该使用指针或引用。
要传递副本,只需按值传递即可。
这是Java和C++在传递对象方面的主要区别。
您的 getdata 方法只返回 nodeData 的副本,这取决于您可能愿意或不这样做。如果它是一个大对象,则应通过引用来完成,否则副本就可以了。
编辑:至于它说它是一个私有变量,我不确定它为什么要这样做。我复制了您的代码并自己运行它,没有编译器错误。
相关文章:
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 使用递归时获取变量的奇怪值
- 从 C 中的变量获取文件的路径,C++
- 我可以从其变量中获取对类对象的引用吗?
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- std::cin 从控制台获取两种不同的变量类型,'storing'以后使用第二种类型?
- 如何使用可变参数模板获取参数的变量号及其大小C++
- 获取具有静态局部变量的绑定/推断捕获 lambda 的函数指针
- constexpr 函数在编译时获取值,即使我的变量不是 constexpr
- 如何在不为其声明变量的情况下获取和使用常量值的地址?
- 附加调试器并以编程方式获取变量地址 Visual Studio
- 是否可以将变体的索引作为 constexpr 变量获取?
- 为什么我无法获取 MSVS2019 / C++ 中字符或uint8_t变量的内存地址?
- 我正在尝试获取类私有成员中变量的输入
- C++/Win32 构造函数不使用从对话框获取的字符串初始化变量
- 使用基地址和偏移量获取变量的地址
- C++11 - 获取编译时的所有类变量,并在没有 Boost 的情况下为它们调用方法
- 使用 WindowSetup 类变量获取错误
- fstream 变量获取文本文件中的所有行
- 从类型而不是从变量获取指针级别