C++ 中可對 main() 進行過載嗎?
在 C++ 中,我們可以使用函式過載。那麼我們心中出現一個問題,我們可以過載 main() 函式嗎?
讓我們看一個程式來了解這個思想。
示例
#include <iostream>
using namespace std;
int main(int x) {
cout << "Value of x: " << x << "\n";
return 0;
}
int main(char *y) {
cout << "Value of string y: " << y << "\n";
return 0;
}
int main(int x, int y) {
cout << "Value of x and y: " << x << ", " << y << "\n";
return 0;
}
int main() {
main(10);
main("Hello");
main(15, 25);
}輸出
This will generate some errors. It will say there are some conflict in declaration of main() function
為了克服 main() 函式,我們可以將它們用作類成員。main 不是像 C++ 中的 C 一樣的限定關鍵字。
示例
#include <iostream>
using namespace std;
class my_class {
public:
int main(int x) {
cout << "Value of x: " << x << "\n";
return 0;
}
int main(char *y) {
cout << "Value of string y: " << y << "\n";
return 0;
}
int main(int x, int y) {
cout << "Value of x and y: " << x << ", " << y << "\n";
return 0;
}
};
int main() {
my_class obj;
obj.main(10);
obj.main("Hello");
obj.main(15, 25);
}輸出
Value of x: 10 Value of string y: Hello Value of x and y: 15, 25
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP