class TreeNode {
// An object of type TreeNode represents one node
// in a binary tree of strings.
public:
// Constructor. Make a node containing str.
TreeNode(string str) : item(str), left(NULL), right(NULL) {}
string item; // The data in this node.
TreeNode *left; // Pointer to left subtree.
TreeNode *right; // Pointer to right subtree.
};
在第6行,我可以删除这部分吗?
: item(str), left(NULL), right(NULL)
谢谢。
答案 0 :(得分:5)
不,你不能 - 那个部分在构造它时初始化TreeNode
类的字段。如果删除您提到的部分,则字段将被赋予默认构造值或未定义值。
答案 1 :(得分:-2)
替换
TreeNode(string str) : item(str), left(NULL), right(NULL) {}
与
TreeNode(string str)
{
item = str;
left = NULL;
right = NULL;
}