Computer >> Máy Tính >  >> Lập trình >> C ++

Hàm main () có thể được nạp chồng trong C ++ không?

Trong C ++, chúng ta có thể sử dụng chức năng nạp chồng. Bây giờ câu hỏi nảy ra trong đầu chúng tôi, đó là, chúng tôi có thể nạp chồng hàm main () không?

Hãy để chúng tôi xem một chương trình để có ý tưởng.

Ví dụ

#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);
}

Đầu ra

This will generate some errors. It will say there are some conflict in declaration of main() function

Để vượt qua hàm main (), chúng ta có thể sử dụng chúng làm thành viên lớp. Chính không phải là một từ khóa bị hạn chế như C trong C ++.

Ví dụ

#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);
}

Đầu ra

Value of x: 10
Value of string y: Hello
Value of x and y: 15, 25