-1
我刚刚从C移到C++,所以我想了解类和结构之间的区别。 我正在构建一个处理二叉搜索树的代码,并且正在使用类。使用指针访问类内部的getter函数
class Node
{
public:
// C'tor D'tors
Node();
Node(int valinput);
~Node();
// Getters
Node * getrson() const { return rson; }
Node * getlson() const { return lson; }
int getval() const { return val; }
// Setters
void setlson(Node* input) { lson = input; }
void setrson(Node* input) { rson = input; }
void setval(int input) { val = input; }
private:
int val;
Node * lson;
Node * rson;
};
我知道我不应该直接访问私有变量,因此我应该使用get函数。我建立递归函数,所以我使用对象指针:
Node* insertion(Node* root,int val);
int checkheight(Node* root);
Node* rotate(Node* root, direction direction);
当我想访问某个节点的右儿子的右儿子,我是否需要写类似:
if(root->getrson()->getrson() != nullptr)
此代码是否可以工作?有没有更“自然”的写作方式?在这种情况下,我应该使用结构而不是类吗?
_“这个代码能工作吗?”_嗯,你试过了吗? –
“了解类别和结构之间的差异”。没有,除了结构成员是默认公开的,而类成员是私有的。没有其他区别。这与这个问题有什么关系? –
我还在写它,我想知道如果我没有浪费我的时间超过200行代码 – PanthersFan92