C++类问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:44:48
#include <iostream>
class classB;
class classA
{
private:
classB * pb;
public:
void write()
{std::cout<<"dfds"<<endl;}
void doA();
};
void classA::doA()
{
pb = new classB(this);
pb->doB();
}

class classB
{
private:
classA * pa;
public:
classB(classA * a){pa = a;}
void doB(){pa->write();}
};
int main()
{
classA CA;
CA.doA();
return 0;
}
谢谢
编译不了,帮我看看怎么错了

#include <iostream>
using namespace std; //这里加一句
class classB;
class classA
{
private:
classB * pb;
public:
void write()
{std::cout<<"dfds"<<endl;}
void doA();
};

void classA::doA() //把这一块移到classB的定义之后
{
pb = new classB(this);
pb->doB();
} //

class classB
{
private:
classA * pa;
public:
classB(classA * a){pa = a;}
void doB(){pa->write();}
};
int main()
{
classA CA;
CA.doA();
return 0;

你想问什么?
到底谁问谁啊?