【问题标题】:How to call a class pointer function如何调用类指针函数
【发布时间】:2015-11-20 07:40:10
【问题描述】:

所以基本上我有 2 个类,BSTNode 类和 BST 类,BSTNode 是 BST 的朋友。

在我的 BST 课程中,我有这些公共功能


void BST::Insert(int val);
{
..do stuff
}

void BST::PostorderDFT(BSTNode* node)
{
 ...do stuff
}

我知道我必须创建一个对象。让我们说:


int main(void)
{
 BST bst1;

//then use the object I just created to create a tree. Lets say:
{
bst1.Insert(1);
bst1.Insert(2);
bst1.Insert(4);
bst1.Insert(10);
ect..

所以我的问题是,如何在主函数中调用 PostorderDFT(BSTNode* node) 函数。或者我应该传递什么参数才能让它工作,因为参数(BSTNode*节点)是一个类指针,所以很难理解。

谢谢。

【问题讨论】:

    标签: c++ class pointers


    【解决方案1】:

    您可以像这样定义 BSTNode 的变量:

    BSTNode node;
    

    您可以使用如下构造函数:

    BSTNode node(0,NULL,NULL);
    

    然后,你可以像往常一样为这个变量赋值,最后,你可以像这样使用这个变量:

    // some assignment 
    // ...
    bst1.PostorderDFT(&node);
    

    【讨论】:

    • 谢谢。这有帮助。另外,假设我有这棵树 (1)-root (2) (4) (10),我如何在创建 BSTNode 对象后将我的节点分配为等于节点 (4)。或者,如果我想计算节点(4)等处的树的高度。再次感谢您帮助我。
    • 这个问题是根据你的 BST 实现的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多