有了OOP,结构化代码就非常容易了(原谅我的琐碎)。你逐一采取和盖章的方法。它非常有效和清晰。但是,一个问题出现了:这种多重包装器不会影响处理器的代码处理速度吗?具体来说,这两个代码片段的执行速度有什么不同吗?
double ddd=0.0; //первый вариант кода, инициализация без применения функций/методов double ddd; //второй вариант кода, инициализация с применением функций/методов void function(double a) { a=0.0; } ... function(ddd);
还是在编译阶段将代码从人类语言转换为机器语言,从而使这两种变体在计算机的处理速度上没有任何差别?
Urain:
在MQL5中不支持多重继承 ...
那么,"多重遗产 "就是父母的复数?
Yedelkin:
那么,"多重遗产 "是复数的养育方式?
那么,"多重遗产 "是复数的养育方式?
是的正是一个类可以有一个父类,级联可以,但两个父类和mql5不能。
原则上,你可以在类本身中调用 "作为父类的类型",并通过其指针访问 "作为母类的类型 "的数据,而不是继承。
Urain:
是的正是一个类可以有一个父类,级联可以,但两个父类和mql5不能。
好的,知道了。我没有想到马上去查这个词的含义。
是的正是一个类可以有一个父类,级联可以,但两个父类和mql5不能。
Yedelkin:
这段代码与多重继承几乎没有区别。
class C_A { public: C_A(void){}; ~C_A(void){}; double a; }; //+------------------------------------------------------------------+ class C_B { public: C_B(void){}; ~C_B(void){}; double b; }; //+------------------------------------------------------------------+ class C_C { public: C_A *ua; C_B *ub; C_C(void){ua=new C_A();ub=new C_B();}; ~C_C(void){delete ua;delete ub;}; }; //+------------------------------------------------------------------+事实上,C_C类可以通过适当的指针访问C_A和C_B数据。
Urain:
这段代码与多重继承几乎没有区别。
事实上,类C_C可以通过相应的指针访问C_A和C_B的数据。酷!我不会想到在构造函数中创建一个外部类的实例。谢谢你的帮助!
补遗。而在这一行中
C_C(void){ua=new C_A();ub=new C_B();};
新 操作符被应用于C_A类的C_A()构造函数。
从参考书中,我了解到new 操作符的操作数是类本身,而不是其构造函数。这里会有什么奇特的地方呢?
顺便说一下,一段时间后,设计师将有参数工作,这将使开发人员的生活变得更加容易。
Renat:
顺便说一下,一段时间后,设计师将有参数工作,这将使开发人员的生活变得更容易。
是的,我记得:)
顺便说一下,一段时间后,设计师将有参数工作,这将使开发人员的生活变得更容易。
Yedelkin:
酷!我不会想到在构造函数中创建一个外部类的实例。谢谢你的帮助!
补遗。而在这一行。
新 操作符被应用于C_A类的C_A()构造函数。
从参考书中,我了解到new 操作符的操作数是类本身,而不是其构造函数。这里会有什么奇特的地方呢?
新操作符 创建了一个类的实例,并同时调用了一个构造函数。它被写在语法中,所以你不能以其他方式调用它。
一切都在静态声明中自动发生。
顺便说一下,这也会起作用并被自动销毁
class C_C { public: C_A ua; C_B ub; C_C(void){}; ~C_C(void){}; }; //+------------------------------------------------------------------+
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
- www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
关于 "巴解"的话题已经变成了 "好还是坏 "的意见交流。我想知道更多朴实的问题的答案。
问题是这样的。在一本关于C++的教科书中,我遇到过这样的说法:一个类的实例可以同时成为两个不同的父类的后裔,例如
或类似的东西(找不到来源)。在MQL5中是什么情况?是否可以声明该类是两个不同父类的后代?语法是什么?
帮助》中的一句话:"没有多重遗产 "不就是关于这种情况的吗?