我定义了两个类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/