C++中的嵌套类型

Mic*_*ync 1 c++

我有C#背景,并且在C#工作了很多年..最近,我正在学习C++并遇到一些困难..

基本上,我正在尝试创建链接类,如下所示.我想将我的类用作struct node中的数据.

如何在C++中解决这个问题?谢谢.

但它说我不能那样使用.

class Polynomial{
    public:
        Polynomial(pair<double, int>);  

        void add(Polynomial);
        Polynomial multiply(Polynomial);
        void print();
    private:
         struct node
         {
            Polynomial data;
            node *link;
         }*p;
};
Run Code Online (Sandbox Code Playgroud)

tda*_*ers 5

你的nodestruct包含一个类型的成员变量Polynominal,但由于node它本身是在里面Polynominal声明的,所以声明Polynominal在那时并不完整.

我觉得你假设C++中的类像C#一样工作,但他们没有.C++不是垃圾收集的,并且在使用类时它不会自动为您管理引用.C++中的类更像是C#中的结构,当您在示例中传递或声明它时,它会被值复制.

另一件事:C++带有STL,它包含一系列适用于各种事物的模板,包括一个很好的链表(std::list).