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

C++プログラムの静的メンバー関数を使用してオブジェクトの数をカウントします


ここでの目標は、静的メンバー関数を使用して作成されているクラスのオブジェクトの数をカウントすることです。

静的データメンバーは、クラスのすべてのオブジェクトによって共通に共有されます。値が指定されていない場合、静的データメンバーは常に0で初期化されます。

静的メンバー関数は、そのクラスの静的データメンバーのみを使用できます。

ここではクラスStudentを使用しています。オブジェクトの数を格納する静的データメンバー数を宣言します。静的メンバー関数rollCall(void)は、オブジェクトの数をクラスの生徒のロール番号として表示します。

以下のプログラムで使用されているアプローチは次のとおりです

  • パブリックデータメンバーintrollnoと静的データメンバーカウントを持つクラスStudentを宣言します。

  • rollcall()を呼び出し、countでrollnoを初期化するコンストラクターがあります。

  • カウントを減らすデストラクタがあります。

  • 静的メンバー関数rollcall()は、オブジェクトの数をStudent countとして表示し、数を増やします。

  • Studentのオブジェクトが作成されるたびに、コンストラクターはrollcall()を呼び出し、カウントがインクリメントされます。このカウントは、そのStudentオブジェクトのrollnoに割り当てられます。

  • メインでは、クラスStudentの4つのオブジェクトをstu1、stu2、stu3、stu4として作成し、countとrollnoがnoと同じであることを確認しました。オブジェクトの。

// C++ program to Count the number of objects
// using the Static member function
#include <iostream>
using namespace std;
class Student {
public:
   int rollno;
   static int count;
public:
   Student(){
      rollCall();
      rollno=count;
   }
   ~Student()
   { --count; }
   static void rollCall(void){
      cout <<endl<<"Student Count:" << ++count<< "\n"; //object count
   }
};
int Student::count;
int main(){
   Student stu1;
   cout<<"Student 1: Roll No:"<<stu1.rollno;
   Student stu2;
   cout<<"Student 2: Roll No:"<<stu2.rollno;
   Student stu3;
   cout<<"Student 3: Roll No:"<<stu3.rollno;
   Student stu4;
   cout<<"Student 4: Roll No:"<<stu4.rollno;
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Student Count:1
Student 1: Roll No:1
Student Count:2
Student 2: Roll No:2
Student Count:3
Student 3: Roll No:3
Student Count:4
Student 4: Roll No:4

  1. C ++を使用してOpenCVのフレームの総数をカウントするにはどうすればよいですか?

    OpenCVでフレームの総数を計算する方法を学びます。 OpenCVを使用すると、ビデオのフレームの総数をカウントして表示するのが基本です。ただし、リアルタイムビデオフレームの総数をカウントできないことに注意する必要があります。リアルタイム動画には特定のフレーム数がないためです。 次のプログラムは、合計フレーム数をカウントし、コンソールウィンドウに表示します。 例 #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main() { &

  2. C++で1xmサイズのタイルを使用してサイズnxmの床をタイル張りする方法の数を数えます

    部屋の床の長さと幅を表す2つの数字nとmが与えられます。目標は、サイズ1Xmのタイルを使用してこの床をタイル張りできる方法の数を数えることです。 例 入力 n=3 m=2 出力 Count the number of ways to tile the floor of size n x m using 1 x m size tiles are: 3 説明 方法は、以下に示すように配置された3つの1x2タイルになります- 入力 n=3 m=3 出力 Count the number of ways to tile the floor of size n x m using 1 x m