C++ 中 main() 可以重载吗?
c++server side programmingprogramming更新于 2024/9/5 1:00:00
在 C++ 中,我们可以使用函数重载。现在我们想到了一个问题,我们也可以重载 main() 函数吗?
让我们看一个程序来了解一下。
示例
#include <iostream> using namespace std; int main(int x) { cout << "x 的值: " << x << "\n"; return 0; } int main(char *y) { cout << "字符串 y 的值: " << y << "\n"; return 0; } int main(int x, int y) { cout << "x 和 y 的值: " << x << ", " << y << "\n"; return 0; } int main() { main(10); main("Hello"); main(15, 25); }
输出
这将产生一些错误。它会说在声明 main() 函数时存在一些冲突
为了克服 main() 函数,我们可以将它们用作类成员。 main 不是 C++ 中像 C 那样受限制的关键字。
示例
#include <iostream> using namespace std; class my_class { public: int main(int x) { cout << "x 的值: " << x << "\n"; return 0; } int main(char *y) { cout << "字符串 y 的值: " << y << "\n"; return 0; } int main(int x, int y) { cout << "x 和 y 的值: " << x << ", " << y << &"\n&";; return 0; } }; int main() { my_class obj; obj.main(10); obj.main(&";Hello&";); obj.main(15, 25); }
输出
x 的值:10 字符串 y 的值:Hello x 和 y 的值:15, 25