我定义了两个类A类和B类。它们是完全独立的。

现在,我创建c作为class B的实例,并创建d作为class A的实例。现在,我想定义将在functionOfA上执行操作的c主体:

class A {
public:
    functionOfA();
}

class B {
    ...
}

A::functionOFA()
{
    c.functionOfB();
}

main()
{
    A d;
    B c;
    d.functionOfA();
}


但是编译器给我以下错误:在此范围内未声明c

最佳答案

A::functionOfA()定义需要知道什么是c实例,您可以传入B实例:

class B;

class A
{
public:
    functionOfA(const B& b) const;
};

A::functionOFA(const B& b) const
{
    b.functionOfB();
}

A a;
B b;
a.functionOfA(b); // pass in B instance

关于c++ - 如何在另一个类的方法中使用一个类的实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18809234/

10-11 22:46
查看更多