这是一个更大项目的一部分。
基本上我有一个类“X”来管理程序,该类有一个指向类“Y”对象的指针数组,还有另一个类“Z”我需要访问类“Y”的对象,例如打印。
我收到错误“未在此范围内声明”
我试图让“Z”类成为“Y”类的朋友,但它不起作用。
我写了代码来演示这个问题:
#include <iostream>
using namespace std;
class BaseClass;
class OtherClass;
class Manager;
class BaseClass
{
friend class OtherClass;
public:
BaseClass(){}
void setNum(int num){_num = num;}
int getNum(){return _num;}
private:
int _num;
};
class OtherClass
{
public:
OtherClass(){}
void print(){
cout << _bc[0]->getNum() << " " << _bc[1]->getNum() << endl;
}
};
class Manager
{
friend class OtherClass;
public:
Manager(){}
void run(){
_bc = new BaseClass*[10];
_bc[0]->setNum(20);
_bc[1]->setNum(30);
_oc.print();
}
private:
BaseClass ** _bc;
OtherClass _oc;
};
int main()
{
Manager m;
m.run();
return 0;
}
也许这很简单,但是这里已经很晚了,我很困,我想在睡觉前解决这个问题。
编辑:在我的项目中,我有一个类 Manager 并且该类有指向clients和orders的指针数组。类订单除其他外接收客户端,这就是为什么我必须访问该指针数组,以选择要在订单中插入的客户端。