#define foor(a,b,v) \
for(;Funkziya(a,b,v);b++)
//я хочу доработать макрос чтобы получилось так#define foor1(a,b,v,g) \
//за основу будет взят первый макрос
for(;Funkziya(a,b,v)&&g;b++)//эффект должен быть такой где g это дополнительное выражение которое будет дописываться в новый макрос
あなたの説明によると、これらの設定を別のエンティティに分離することは理にかなっており、すべてのマネージャに同じであり、唯一のものではありません。
はい、マネージャーを必要とするクラスは、マネージャーフィールドへのゲッターを持つベースクラスから継承する必要があるようです。ありがとうございます。
という疑問が湧いてきました。
New Bar」クラスと「Data Manager」クラスを使用する「Program」クラスがあります。New Bar "クラスは、"Data Manager "クラスも使用しています。パブリックゲッターとセッターは "Data Manager "クラスで実装されています。
質問:「New Bar」クラスのプログラムの初期化で、「Data Manager」クラスの「symbol」「timeframe」プロパティを指定する際のオプションは何でしょうか?New Barクラスで、データマネージャフィールドにアクセスするためのパブリックゲッターとセッターを持ちたくは ありません。そして、データマネージャーを非公開にしたいと思います。
言い換えれば、アプリケーションは、データマネージャーを使用する複数のクラスを使用することができます。プログラムの初期化時に、すべてのクラスのすべてのマネージャフィールドを必要な値で初期化する必要があります。しかし、データマネージャーフィールドにアクセスするために、すべてのクラスでゲッターを作りたくはないのです。それで...
そんな感じでやっています。
だいたいそんな感じでやっています。
例題をありがとうございます。ここまでは少し複雑ですが、全般的に考え方は明確です。すぐに質問が発生:OK、もし "入れ子の1つのレベル" - ここでそれは明らかですが、入れ子のいくつかのレベルが存在する場合はどうなりますか?
追加されました。
また、なぜcIsDelDataフィールド?結局、デストラクタでm_dataをPOINTER_DINAMICに対して チェックすればいいのです。それとも私が間違っているのでしょうか?
継承を行うと、不要なメソッドが大量に発生します。そして、そのオブジェクトはプライベートでなければならない。そこで、信じられないかもしれませんが、最も簡単な方法は、データ・マネージャーを使用するすべてのクラスに対してセッターを設定することです。
すべてのデータマネージャが同じパラメータで動作する場合は、オブジェクトを作成せず、1つのデータマネージャへのポインタを渡す方が良い。この場合、ポインタを渡すためのセッターは1つだけでよい。
例題をありがとうございます。ここまでは少し複雑ですが、全般的に考え方は明確です。すぐに質問が発生:OK、もし "入れ子の1つのレベル" - ここでそれは明らかですが、入れ子のいくつかのレベルが存在する場合はどうなりますか?
追加されました。
また、なぜcIsDelDataフィールド?結局、デストラクタでm_dataをPOINTER_DINAMICに対してチェックすればいいのです。それとも私が間違っているのでしょうか?
ありがとうございます、考えてみます。
だいたいこんな感じでやっています。
このCDataManager* m_data の行の意味するところ。
みんな......こういうのやりたいんだ。マクロがあるんです。
その結果、foorとfoor1という 2つのマクロを持つことになります。
このCDataManager* m_data の行の意味するところ。
みんな......こういうのやりたいんだ。マクロがあるんです。
その結果、foorとfoor1という 2つのマクロを持つことになります。
オブジェクトへのポインタ。
悪気はないのですが、そんなマクロに手を出すのは早計です。まず、私がなぜこのようなことをしたのか、理解してください。
オブジェクトへのポインタ。
悪気はないんだけど、こんなマクロじゃ早すぎるよ、泥沼にはまるよ。まず、なぜこのような方法をとったのかを理解してください。
そして、このポインタをクラス内のオブジェクトに渡してどうするのか。
また、マクロに関しては、より簡単に作業できるようになりました。