我有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)
你的nodestruct包含一个类型的成员变量Polynominal,但由于node它本身是在里面Polynominal声明的,所以声明Polynominal在那时并不完整.
我觉得你假设C++中的类像C#一样工作,但他们没有.C++不是垃圾收集的,并且在使用类时它不会自动为您管理引用.C++中的类更像是C#中的结构,当您在示例中传递或声明它时,它会被值复制.
另一件事:C++带有STL,它包含一系列适用于各种事物的模板,包括一个很好的链表(std::list).