Contar los objetos creados utilizando la función miembro estática en C ++

Aquí, vamos a aprender mediante un programa cómo contar los objetos creados usando la función miembro class en C ++ ?

static miembro de datos miembro de

Un Static datos también se conoce como “static miembro” y está disponible Class todas las clases. En otras palabras – podemos decir “Un miembro de datos for es igual que una variable global static un for”. En general, class miembros de datos se utilizan para mantener las cosas comunes relacionados con el static, como contar los objetos Función etc.

class miembro

Un Static función miembro se utiliza para el acceso o manipular el miembro de datos static , otro miembro de datos no se puede utilizar con una función miembro static.

Programa:

Este programa es implementado para contar el número total de objetos creados con la ayuda de miembro de datos static y función miembro static.

necesidades

  • un miembro de datos static a ser declaradas en primer lugar que hemos declarado en la sección static: Ejemplo: private class recuento;
  • Para contar el objeto, miembro de datos recuento debe ser incrementado en 1, lo que hemos hecho en el constructor porque el constructor se invoca cuando se crea un nuevo objeto.
  • Para imprimir el número total de objetos creados, creamos una función miembro llamada static totalObjects () que está devolviendo el valor de recuento .
  • int e importante cosa – Un miembro de datos class debe estar fuera de la inicializado static con el nombre class. Ejemplo: class Mensaje :: count = 0;

#include <iostream>
#include <string.h>
using namespace std;
class Message
{
private:
char str[30];
//static data member to count the objects
static int count;
public:
//constructor
Message()
{
count++;
}
//member function to initialise message
void initMessage(char s[])
{
strcpy(str,s);
}
//member function to print message
void printMessage(void)
{
cout << str << endl;
}
//static member function
static int totalObjects(void)
{
return count;
}
};
//initialise static member function
int Message::count =0;
//main function
int main()
{
Message M1;
Message M2;
Message M3;
M1.initMessage("Message one");
M2.initMessage("Message two");
M3.initMessage("Message three");
M1.printMessage();
M2.printMessage();
M3.printMessage();
//printing object count
cout << "Total objects created: " << Message::totalObjects() << endl;
return 0;
}

salida

Message one
Message two
Message three
Total objects created: 3


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *