¿Cómo podemos escribir main como una clase en C++?

Como ya se sabe, el método main() es el punto de entrada en cualquier programa en C++, por lo tanto, crear una clase llamada «main» es un desafío y generalmente no es posible. Pero este artículo explica cómo escribir una clase llamada «principal» en C++.

¿Qué sucede cuando tratamos de escribir una clase llamada main?
Generalmente no se permite escribir una clase llamada main en C++, ya que el compilador la confunde con el método main(). Por lo tanto, cuando escribimos la clase principal, la creación de su objeto generará un error, ya que no considerará el ‘principal’ como un nombre de clase.
Ejemplo:

// C++ program to declare
// a class with name main
  
#include <bits/stdc++.h>
using namespace std;
  
// Class named main
class main {
  
public:
    void print()
    {
        cout << "GFG";
    }
};
  
// Driver code
int main()
{
  
    // Creating an object of class main
    main obj;
  
    // Calling the print() method
    // of class main
    obj.print();
}

Producción:

Compilation Error in CPP code :- prog.cpp: In function 'int main()':
prog.cpp:17:10: error: expected ';' before 'obj'
     main obj;
          ^
prog.cpp:18:5: error: 'obj' was not declared in this scope
     obj.print();
     ^

¿Cómo crear con éxito una clase llamada principal?
Cuando el nombre de la clase es principal, es obligatorio usar la palabra clave class o struct para declarar objetos.

Ejemplo:

// C++ program to declare
// a class with name main
  
#include <bits/stdc++.h>
using namespace std;
  
// Class named main
class main {
  
public:
    void print()
    {
        cout << "GFG";
    }
};
  
// Driver code
int main()
{
  
    // Creating an object of class main
    // Add keyword class ahead of main
    class main obj;
  
    // Calling the print() method
    // of class main
    obj.print();
}
Producción:

GFG

¿Cómo escribir un constructor o destructor llamado main?
Escribir un constructor o destructor llamado main no es un problema, ya que significa que el nombre de la clase debe ser main. Ya hemos discutido cómo hacer una clase llamada principal arriba.

Ejemplo:

// C++ program to declare
// a class with name main
  
#include <bits/stdc++.h>
using namespace std;
  
// Class named main
class main {
  
public:
  
    // Constructor
    main()
    {
        cout << "In constructor main()\n";
    }
  
    // Destructor
    ~main()
    {
        cout << "In destructor main()";
    }
  
    void print()
    {
        cout << "GFG\n";
    }
};
  
// Driver code
int main()
{
  
    // Creating an object of class main
    // Add keyword class ahead of main
    class main obj;
  
    // Calling the print() method
    // of class main
    obj.print();
}
Producción:

In constructor main()
GFG
In destructor main()

Publicación traducida automáticamente

Artículo escrito por auspicious_boy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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