在C ++中,我们如何使用预先声明的类中的函数

时间:2017-10-25 04:41:19

标签: c++ class

为什么getString()功能不起作用。我该怎么办?

class A;
class B;
{
    A* a;
    char* someFunction() {return a->getString();}
}
class A
{
    char* getString() {..} // This works fine
}

1 个答案:

答案 0 :(得分:2)

在实际使用其成员函数之前,您需要具有类的定义。编译器需要知道属于该类的内容。

这样做的方法是

  1. 提供对方法的正确访问(或使用friend
  2. 定义类声明之外的方法。
  3. class A;
        class B
        {
            public:
    
            A* a;
           char * someFunction() ;
        };
    
    class A
    {
        public:
        char* getString() { } 
    };
    
    char* B::  someFunction() {return a->getString();}