No, you can't do that. There is no way to remove the cyclic dependency.
You should be able to get by with making the class CDB
a friend of CDM
instead of wanting to making CDB::Add()
a friend.
class CDB;
class CDM
{
public:
friend class CDB;
CDM& Add(const CDB&);
};
class CDB
{
public:
CDB& Add(const CDM&);
friend CDM& CDM::Add(const CDB&);
};
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…