无法访问类变量

时间:2014-04-20 17:09:34

标签: c++ class object private

我有一个班级" 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"的事实有关。是节点类的私有变量。但由于我的多边形类由节点组成,因此它不能访问这些节点吗?

1 个答案:

答案 0 :(得分:2)

类中的私有变量和函数只能由该类中的函数访问。

指出,您想要在该课程之外使用的任何内容(例如您现在的方式)