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

C++の匿名クラス


匿名エンティティとは、名前なしで定義されたものです。名前が指定されていないクラスは、C++の匿名クラスと呼ばれます。 。匿名クラスは、1つの基本的なプロパティを持つ特別なクラスです。

  • クラスに名前が付けられていないため、クラスにコンストラクタが割り当てられていませんが、メモリブロックの割り当てを解除するためのデストラクタがあります。

  • クラスを関数の要素として使用することはできません。つまり、クラスを引数として渡すことも、関数から返される値を受け入れることもできません。

C++で匿名クラスを定義するための構文

class {
   //data members
   // member fucntions
}


C++での匿名クラスの動作を説明するためのプログラミング。

  • 匿名クラスを作成し、その単一オブジェクトを定義して使用する-

    匿名クラスを定義し、そのオブジェクトを宣言します。これを使用して、クラスのメンバーを使用します。

#include <iostream>
using namespace std;
class{
   int value;
   public:
   void setData(int i){
      this->value = i;
   }
   void printvalues(){
      cout<<"Value : "<<this->value<<endl;
   }
}
 obj1;
int main(){
   obj1.setData(10);
   obj1.printvalues();
   return 0;
}

出力

Value : 10
  • 匿名クラスを作成し、その2つのオブジェクトを定義して使用する-

    匿名クラスの複数のオブジェクトを持ち、それらをコードで使用できます。以下のプログラムは動作を示しています-

#include <iostream>
using namespace std;
class{
   int value;
   public:
   void setData(int i){
      this->value = i;
   }
   void print(){
      cout<<"Value : "<<this->value<<endl;
   }
}
 obj1,obj2;
int main(){
   cout<<"Object 1 \n";
   obj1.setData(10);
   obj1.print();
   cout<<"Object 2 \n";
   obj1.setData(12);
   obj1.print();
   return 0;
}

出力

Object 1
Value : 10
Object 2
Value : 12

  1. PHP匿名クラス

    はじめに 名前が示すように、匿名クラスは名前のないクラスです。これは、1回限りの使用であり、クラスをその場で定義する必要がある場合に使用します。匿名クラスの機能は、PHP7バージョンから導入されました。 匿名クラスの定義は、その結果がそのクラスのオブジェクトである式の中にあります。 新しいクラスで定義されています 構文は次のとおりです 構文 <?php $obj=new class {    public function sayhello(){       echo "Hello World";   &

  2. PHP 7の匿名クラス?

    PHP 7の匿名クラスは、新しいクラスを使用して定義できます。完全なクラス定義の代わりに使用することもできます。なぜ匿名クラスを使用するのですか? モックテストは簡単です。 インターフェースの動的な実装を簡単に作成できるため、複雑なモックAPIの使用を回避できます。 それらは、定義されたスコープに配置できます。 単純な実装のためのオートローダーの使用を回避できます。 例 以下はコードサンプルです- <?php interface a_logger {    public function log(string $msg); } class App {