我有一个班级" poly"和一个班级"节点"。类poly由链接的节点列表组成。我正在尝试将聚合物传递给函数" printPoly"这将允许我打印链接的节点列表。但我无法访问节点的变量...
这是我的代码:
class Node
{
private:
double coeff;
int exponent;
Node *next;
public:
Node(double c, int e, Node *nodeobjectPtr)
{
coeff = c;
exponent = e;
next = nodeobjectPtr;
}
};
class poly
{
private:
Node *start;
public:
poly(Node *head) /*constructor function*/
{
start = head;
}
void printPoly(); //->Poly *p1 would be the implicit parameter
};
void poly :: printPoly()
{
poly *result = NULL;
result = this;
double c;
int e;
Node *result_pos = res->start; //create ptr to traverse linked nodes
while(result_pos!= NULL)
{
c = result_pos->coeff; // I CANT ACCESS THESE???
e = result_pos->exponent;
printf(....);
result_pos = result_pos->next; //get next node (also can't access "next")
}
我认为这与" coeff,exponent和next"的事实有关。是节点类的私有变量。但由于我的多边形类由节点组成,因此它不能访问这些节点吗?
答案 0 :(得分:2)
类中的私有变量和函数只能由该类中的函数访问。
指出,您想要在该课程之外使用的任何内容(例如您现在的方式)