gpt4 book ai didi

c++ - 如何在C++中初始化一个类?

转载 作者:行者123 更新时间:2023-11-28 05:13:54 25 4
gpt4 key购买 nike

我正在制作一个简单的二叉树程序,我想初始化左右节点。我一直在尝试这样做:

class Tree{
Tree* left = new Tree();
Tree* right = new Tree();
}

这应该在堆上给我一个可访问的内存,我可以用它来访问左右节点,对吗?但是,情况似乎并非如此。我也试过通过构造函数来做这件事,但没有成功。

有没有办法在 C++ 中正确初始化类?感谢您的宝贵时间。

最佳答案

你可以像这样创建一个

class Tree
{
public:
Tree* left;
Tree* right;
Tree() // default constructor
{
left = nullptr;
right = nullptr;
}
Tree(Tree *Tleft,Tree *Tright) // parameterised constructor
{
left = Tleft;
right = Tright;
}

~Tree() // Destructor
{
delete left;
delete right;
}
};

您可以使用默认构造函数Tree类初始化为nullptr,并使用参数化构造函数进行初始化用户值,即 Tree 节点,

void main()
{
Tree *node1 = new Tree(); //using default constructor
Tree *node2 = new Tree(); //using default constructor
Tree *node3 = new Tree(node1, node2); // using parameterised constructor
}

关于c++ - 如何在C++中初始化一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43038503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com