tutorial - c++类可以将自己包含为成员吗?



c++符号 (2)

我试图通过用C ++编写,然后使用ctypes或cython来使用它来加速python例程。

我是c ++的新手。 我正在使用Microsoft Visual C ++ Express,因为它是免费的。

我计划实现一个表达式树,以及一个以后缀顺序评估它的方法。

我遇到的问题是:

class Node {
    char *cargo;
    Node left;
    Node right;
};

我不能将leftright声明为Node类型。

https://code.i-harness.com


不,但它可以有一个引用或指向自己的指针:

class Node
{
    Node *pnode;
    Node &rnode;
};

不,因为对象会无限大(因为每个Node都有两个其他Node对象,每个对象都有两个其他Node对象,每个对象......好吧,你明白了)。

但是,您可以将类类型的指针作为成员变量:

class Node {
    char *cargo;
    Node* left;   // I'm not a Node; I'm just a pointer to a Node
    Node* right;  // Same here
};




c++