众所周知,main()方法是C++中任何程序的入口点,因此创建一个名为“ main”的类是一项挑战,通常是不可能的。但是本文将说明如何在C++中编写一个名为“ main”的类。
当我们尝试编写一个名为main的类时会发生什么?
在C++中,通常不允许编写名为main的类,因为编译器会将它与main()方法混淆了。因此,当我们编写主类时,创建其对象将导致错误,因为它不会将“主”视为类名。
例子:
// C++ program to declare
// a class with name main
#include
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();
}
输出:
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();
^
如何成功创建一个名为main的类?
当类名是main时,必须使用关键字class或struct声明对象。
例子:
// C++ program to declare
// a class with name main
#include
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();
}
输出:
GFG
如何编写一个名为main的构造函数或析构函数?
编写名为main的构造函数或析构函数不是问题,因为这意味着类名称必须为main。我们已经在上面讨论了如何创建一个名为main的类。
例子:
// C++ program to declare
// a class with name main
#include
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();
}
输出:
In constructor main()
GFG
In destructor main()
想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。