读书人

队列中的节点指针怎么访问节点的私有数

发布时间: 2013-12-21 20:16:01 作者: rapoo

队列中的节点指针如何访问节点的私有数据
class queue_node
{
private:
treeNode* address;
queue_node* next;
public:
treeNode* address;
queue_node* next;
queue_node(treeNode* address)
{
this->address = address;
next = NULL;
}
};

class Queue
{
private:
queue_node* front;
queue_node* rear;
public:
queue_node* front;
queue_node* rear;
Queue();
void in_queue(treeNode* T);
void out_queue();
treeNode* get_top();
void brother_in_queue(treeNode* current);
}; C++
[解决办法]
private数据,一般在public里加入get、set方法来进行访问和修改。自己写一个呗。
[解决办法]

引用:
但是我已经在Queue中声明了queue_node* front;queue_node* rear;这样的指针 为何不能直接访问呢

private成员只有类本身才能访问,对象和指针是不能访问的。
[解决办法]
引用:
友元类或者其他可不可以实现

可以是可以,但是友元对于OO来说不是好设计,应该尽量找其他代替方法。
就你这里来说,也可以完全不需要封装,直接访问就好了。对于常见的数据结构,封装反而麻烦了。
[解决办法]
在节点中,加人友员类

读书人网 >C++

热点推荐