class C_AO_Agent
{
public:
double c;
double f;
};
class C_AO
{
public:
double cB[];
C_AO_Agent *a;
virtualvoid Init() { }
};
class C_Agent : public C_AO_Agent
{
public:
double g;
class ad
{
};
};
class C_P : public C_AO
{
public:
void Init()
{
a = new C_Agent;
C_Agent *agent = (C_Agent*)a; // Приведение типов
agent.f = 5;
agent.g = 7; //теперь есть доступ к g!!!
agent.c = 8;
}
};
voidOnStart()
{
C_AO *ao;
ao = new C_P;
ao.Init();
//тут нам нужен доступ только к f и cPrint (ao.a.f);
Print (ao.a.c);
// Удаление объектовdelete ((C_Agent*)ao.a);
delete ao;
}
对不起,可能是因为谷歌自动翻译
图片中的问题是
图片中的问题是
代码:
关于交易、自动交易系统和交易策略测试的论坛。
mql5 语言的特点、微妙之处和工作技巧
Andrey Dik, 2024.02.16 06:05
基类无法访问子类的字段。
基类无法访问子类字段。
这就是所需的工作版本。
是的,但以这种方式击败: 是所需的工作版本。
这是一个非常严重的错误。
举例说明
举个例子,任何人都可以冒犯艺术家)。
什么示例?
我们的任务是获取对象的访问权限,而不是组织对象的正确删除。删除总是比创建容易))