class A
{
private:
virtualbool Compare()
{
return(true);
}
public:
bool f()
{
return(this.Compare());
}
};
class B : public A
{
private:
virtualbool Compare()
{
return(false);
}
};
voidOnStart()
{
A a;
B b;
Print(a.f());
Print(b.f());
}
私ならテンプレートパラメータでいくつかのアダプタを渡しますが(そこにブレーキはないはずです)、もしあなたがそんなに不器用になりたいなら、あなたもできますよ。ヘッダーファイルへのハードリンクを作成する(mklink /H <link> <target>, if I'm not mistaken.Windows create hard link」でググってみてください)。そして、通常の方法でこれらを有効にします
#define _N C1 // имя класса
#define _M "c1" // какой-то параметр#include <qq.mqh>
#undef _N
#undef _M
#define _N C2
#define _M "c2"#include <ee.mqh> // жёсткая ссылка на qq.mqh#undef _N
#undef _M
私ならテンプレートパラメータでいくつかのアダプタを渡しますが(そこにブレーキはないはずです)、もしあなたがそんなに不器用になりたいなら、あなたもできますよ。ヘッダーファイルへのハードリンクを作成する(mklink /H <link> <target>, if I'm not mistaken.Windows create hard link」でググってみてください)。そして、いつものようにプラグを差し込むだけです。
その理由はだいたいわかりました。グローバル変数が あるのですが
mcl環境とミッションの初期化順序の何かで、どうやらactobjectsがポインタで、そこに自分で配列を置くと、何もクラッシュしないようです。グローバル変数にクラス - 悪い習慣です、もちろん書き直します。しかし、関数内の静的配列では問題が発生します(µlでは、関数への最初のエントリで初期化するというルールは機能しません)。
一般的に、バグとしてカウントされるのであれば、おおよその原因がわかるので、ローカライズできるかもしれませんね。
とにかく、バグとしてカウントされるのであれば、原因がおおよそわかっているので、ローカライズできるのだと思います。
いや、捕捉できない、コードを切り出すと奇跡的に消える。いくつかの行をコメントアウトしても(クラッシュの前に実行されない)影響があります。
長いコードクラスがあり、それはmqhにある。元のクラスとは2行だけ異なる、まったく同じクラスを作成する必要があります(記号が少ない代わりに、記号が多くなるはずです)。
これは、ほとんど同じmqhをもう一つ作らずにできるのでしょうか?
授業が短いときは、複数行のマクロで作ると、すべてが簡単に出てきます。でも、ここのコードは長いんです。
1つのmqhを修正すると、2つ目のmqhですべての操作を繰り返さなければならないので、mqhクローンを作りたくありません。さらに、物忘れや不注意という人的要因もある。
やはりテンプレートクラスでやるのがいいのでしょう。しかし、それが実行速度にどう影響するかは、まったくわからない。クイックランのために必要なクラスです。
#ifdef
うまくいかない。両方のクラスが動作している必要があります。
うまくいかない。両方のクラスが動作していること。
問題ないと思います。
_____________
インヘリタンス
しゅるいほうふ
問題ないと思います。
_____________
インヘリタンス
異なるものを別々の少人数クラスにする
1つのクラスには、それなりの大きさのメソッドがいくつかあります。各方法とも、「>」記号を「<」記号に置き換えるだけです。
このような仮想を使うことができます。しかし、残念ながら、まだクラスの初期化値を渡す必要があります。ということは、やっぱりテンプレートを使うしかないんでしょうかね。
私ならテンプレートパラメータでいくつかのアダプタを渡しますが(そこにブレーキはないはずです)、もしあなたがそんなに不器用になりたいなら、あなたもできますよ。ヘッダーファイルへのハードリンクを作成する(mklink /H <link> <target>, if I'm not mistaken.Windows create hard link」でググってみてください)。そして、通常の方法でこれらを有効にします
私ならテンプレートパラメータでいくつかのアダプタを渡しますが(そこにブレーキはないはずです)、もしあなたがそんなに不器用になりたいなら、あなたもできますよ。ヘッダーファイルへのハードリンクを作成する(mklink /H <link> <target>, if I'm not mistaken.Windows create hard link」でググってみてください)。そして、いつものようにプラグを差し込むだけです。
論点がずれていますね。
質問を理解していない。
えーと、よくわからないのですが、本当にわかっているのでしょうか? 念のため、qq.mqhとee.mqhのリスト(一つの実体で、一方を変更するともう一方も変更されます)
すべて注文通り、クラスはインマクロスではなく、_M.A.以外はほぼ同じです。