私は最近「通信」オブジェクト/抽象クラスを作成しました。このクラスでは、 「送信」、「受信」、「デバッグ」などの機能を使用できます。C++他のすべてのクラスで(通信)オブジェクトを使用
今、このオブジェクトを基本的に他のすべてのクラスで使用したいので、デバッグメッセージを送信するために使用できます。私がしなければならないだろう瞬間
:私は、このオブジェクトを使用したい他のファイル/クラスのいずれかで
#include "../communication/ICommunication.hpp"
extern Communication* comm;
。 これはうまくいくと思われますが、これを行うためのより良い方法があるかどうか疑問に思っていました。
私は名前や実装を覚えていないが、私はこのためのソフトウェアパターンがあると思う。パターンの名前は、私は信じて、人の姓でした。
このパターン(またはこの目的に適したパターン)の名前を知りたいので、実装を自分で試すことができます。 可能であれば、そのパターンが "include and extern"コードよりも優れている理由についてのいくつかの議論もあります。
まず、ヘッダーの内側に「extern」を宣言することができます。この世界を最初に持つことは良い考えかどうかは、ここからは分かりません。 – Thomas
@Thomas d'oh、それは確かに意味があります。そして、それは私の主流の世界にありました(そして、私はそれをグローバルに、あるいは少なくとも "通信"を含めるときには使いたいと思っています)ので、あなたの意見は非常に有効だと思います。 – Paul