C++中子类中返回成员函数类型的问题

C++中子类中返回成员函数类型的问题,c++,member-function-pointers,C++,Member Function Pointers,在我提问之前,我先描述一下场景 假设我有一个名为BinaryOperator的类,它有两个子类:And,Or 我想知道我是否可以在中定义一个函数f,并使用返回类型或*类似的方式: 并在返回类型中定义函数g,如下所示: 当我尝试这样做时,最终会出现一个编译错误,即“Or”不命名类型 如果可以的话,我们将非常感谢您提供任何清晰的信息。您需要的是以下内容: class Or; // <-- forward declaration class And : public BinaryOperato

在我提问之前,我先描述一下场景

假设我有一个名为BinaryOperator的类,它有两个子类:And,Or

我想知道我是否可以在中定义一个函数f,并使用返回类型或*类似的方式:

并在返回类型中定义函数g,如下所示:

当我尝试这样做时,最终会出现一个编译错误,即“Or”不命名类型


如果可以的话,我们将非常感谢您提供任何清晰的信息。

您需要的是以下内容:

class Or; // <-- forward declaration

class And : public BinaryOperator
{
public:
    Or* f();
};

class Or : public BinaryOperator
{
public:
    And* g();
};

请发布一个。与其试图描述你的代码,为什么不发布一些有代表性的代码呢?嗨,对不起,我没有发布任何代码的原因是因为大部分代码不是我自己的,我不知道我是否可以发布它。而且我的问题不是关于具体的代码,而是一般来说,如果给定两个子类,我可以在每个类中定义一个返回类型为指向另一个类的指针的成员函数吗class@AsgarHussain我没有发布任何代码的原因是因为大部分代码不是我自己的,我不知道我发布它是否合适——然后编写你自己的代码这与实际代码遇到的问题相同。如果给定两个子类,我可以在每个类中定义一个成员函数,返回类型为指向另一个类的指针——当然可以,只需使用前向声明即可。
And* Or::g()
class Or; // <-- forward declaration

class And : public BinaryOperator
{
public:
    Or* f();
};

class Or : public BinaryOperator
{
public:
    And* g();
};