在c/c++中。”()”操作符表示的是一個函數調用符號,同樣,它只能夠通過類的成員函數來重載:
1 #include <iostream> 2 class cls 3 { 4 public: 5 cls() 6 { 7 printf("構造函數\n"); 8 } 9 void operator() () //重載"()"操作符,"()"內無操作數 10 { 11 printf("HelloWorld!\n"); 12 } 13 14 void operator() (const char* str) //重載"()","()"內的操作數是字符串 15 { 16 printf("%s", str); 17 } 18 }; 19 20 int main(void) 21 { 22 cls cc; 23 cc(); 24 cc("Hello Linux\n"); 25 //system("pause"); 26 return 0; 27 }
輸出結果: 構造函數 HelloWorld! Hello Linux