5,529
社区成员
发帖
与我相关
我的任务
分享class A
{
public:
int GetNumber();
private:
B m_b;
int m_number;
};
class B
{
void fuction1();
void fuction2();
};class IA
{
virtual int GetNumber() = 0;
};
class A : public IA
{
public:
virtual int GetNumber();
private:
B m_b;
int m_number;
};
class B
{
public:
IA * m_pA;
void fuction1();
void fuction2();
};//.h
//环境查询者接口
class IEnvQuerier
{
public:
virtual int GetNumber() = 0;
};
//A环境查询者
class AQuerier : public IEnvQuerier
{
public:
virtual int GetNumber();
A * m_pA;
};
//A环境
class A : public IA
{
public:
A();
virtual int GetNumber();
private:
B m_b;
int m_number;
//内部实现一个自己的环境查询者
AQuerier m_querier;
};
class B
{
public:
//环境查询者接口
IEnvQuerier * m_pEnv;
void fuction1();
void fuction2();
};
//.cpp
int AQuerier::GetNumber()
{
return m_pA;
}
A::A()
{
m_querier.m_pA = this;
m_b.m_pEnv = m_querier;
}
class B
{
void fuction1();
void fuction2();
};
class A
{
friend class B ;
public:
int GetNumber();
private:
int m_number;
};