c ++从类指针调用函数

时间:2013-09-21 14:06:12

标签: c++

我有一个带有此功能的类节点:

void Node::print(){
cout << word << trailing_char << endl;
}

现在,类本身只能被指针访问。例如:

Node* root

我知道在类指针中访问变量数据的方法是:

root -> n;

但我不知道如何访问功能。我试过了

root -> print();

但那没用。它汇编得很好。没有错误,但我没有从函数输出。

下面是它所称的片段:

while ( conductor -> n != NULL ) {
    conductor -> print();
    conductor = conductor -> n;
}

1 个答案:

答案 0 :(得分:1)

是的,root->print()应该有效。但是,为什么它不起作用的原因很少。最常见的原因是:

  1. root未正确初始化(例如,它是一个NULL指针) - 在运行时失败
  2. print()方法受保护或私有,并且您无权访问它 - 在编译时失败。
  3. 出现1.的原因是因为您的while循环应该检查当前元素(您将调用print的元素)是否为NULL

    while ( conductor != NULL ) {
        conductor -> print();
        conductor = conductor -> n;
    }
    
相关问题