0

私は C++ コマンドライン アプリケーションの経験が浅く、最近 JUCE フレームワークを介した GUI プログラミングの勉強を始めました。いくつかの GUI アプリの作成に成功しました。一部は古いコマンドライン アプリ コードの移植版ですが、正しく行っているかどうかを確認したかったのです。コマンド ライン アプリケーションでは、多くの変数の宣言をメイン関数で行いますが、もちろん一部のメソッドではローカルで行いますが、GUI アプリでこれに相当するものは何でしょうか? たとえば、GUI クラスが 1 つだけの単一ウィンドウ GUI アプリで作業していて、その GUI のすべての部分からアクセスされるいくつかのパラメーターを宣言したい場合、それらをメインのどこかで宣言しますか、それともクラス仕様のプライベートセクション? GUI クラスのプライベート セクションですべての変数を宣言してきましたが、

2 つの GUI クラス間で変数を共有したい場合はどうなりますか? 両方がこれらのパラメーターを可視化できるように、どの時点/スコープでそれを宣言しますか?

これは GUI アプリでの私の最初の試みなので、おそらくたくさんの間違いを犯したことを認めます (機能はまだ完成していません)。

https://github.com/JosephTLyons/The-Lyons-Den-Encryption

4

1 に答える 1

0

main実際、アプリケーションの種類に関係なく、多くの変数を宣言することは通常ありません。

たとえば、これらの「アプリケーション全体からアクセス可能なパラメーター」は、シングルトン クラスのメンバーにすることができます。

一般に、2 つのクラスが変数を共有する必要がある理由を調べます。2 つのクラスがどのように連携するのかという質問への回答は、なぜそれらが連携するのかを知っていれば、多くの場合簡単になります。たとえば、 classBが のヘルパー クラスでAあり、すべての B インスタンスが 1 つの A を支援するためだけに存在し、したがって B の寿命がその A オブジェクトによってのみ決定される場合、A は B を所有するだけで、B のすべてのメンバー変数にアクセスできます (B のもちろん、メンバー関数は直接ではありません.C++ クラスがデフォルトでprivate:)になるのには十分な理由があります。

于 2017-01-04T08:18:51.753 に答える