C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++でシングルトンクラスを作成するにはどうすればよいですか?


シングルトンデザインパターンは、クラスのインスタンス化を1つのオブジェクトに制限するために使用されるソフトウェアデザインの原則です。これは、システム全体でアクションを調整するために1つのオブジェクトが必要な場合に役立ちます。たとえば、ログをファイルに書き込むロガーを使用している場合は、シングルトンクラスを使用してそのようなロガーを作成できます。次のコードを使用してシングルトンクラスを作成できます。

#include <iostream>
using namespace std;
class Singleton {
   static Singleton *instance;
   int data;
   // Private constructor so that no objects can be created.
   Singleton() {
      data = 0;
   }
   public:
      static Singleton *getInstance() {
         if (!instance)
         instance = new Singleton;
         return instance;
      }
   int getData() {
      return this -> data;
   }
   void setData(int data) {
      this -> data = data;
   }
};
//Initialize pointer to zero so that it can be initialized in first call to getInstance
Singleton *Singleton::instance = 0;
int main(){
   Singleton *s = s->getInstance();
   cout << s->getData() << endl;
   s->setData(100);
   cout << s->getData() << endl;
   return 0;
}

出力

0
100

  1. Androidでシングルトンクラスを使用する方法は?

    例に入る前に、シングルトンデザインパターンとは何かを知っておく必要があります。シングルトンは、クラスのインスタンス化を1つのインスタンスのみに制限するデザインパターンです。注目すべき用途には、同時実行性の制御や、アプリケーションがデータストアにアクセスするための中央アクセスポイントの作成などがあります。 この例は、Androidでシングルトンクラスを使用する方法について示しています ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次の

  2. Pythonでシングルトンクラスを作成するにはどうすればよいですか?

    シングルトンパターンは、クラスのインスタンスの数を1つに制限するための戦略を提供します。したがって、同じオブジェクトは常にコードの異なる部分で共有されます。シングルトンは、実際のデータがシングルトンクラスインターフェイスの背後に隠されているため、グローバル変数に対するより洗練されたソリューションと見なすことができます。 次のコードは、シングルトンクラスを作成できるさまざまな方法の1つです class Singleton(object):     _instance = None     def __new__(class_, *args, **kwarg