Board logo

標題: 多載函式 (一) - 兩數與三數相加 [打印本頁]

作者: tonyh    時間: 2014-3-22 14:28     標題: 多載函式 (一) - 兩數與三數相加

本帖最後由 tonyh 於 2014-3-22 14:57 編輯

多載函式的定義:
相同的函式名稱,卻擁有不同功能運算。
條件是引入參數的數量不同或是型態不同。

練習:
輸入 三個數字 ,分別利用兩個相同名稱的函式來計算  

1.  前兩個數相加
2.  三個數相加

例如輸入   1   2   3
顯示  3  與  6
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int calcu(int,int);
  5. int calcu(int,int,int);
  6. int main()
  7. {
  8.     int x, y, z;
  9.     cout<<"請依序輸入任意三個數: ";
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數相加的值為"<<calcu(x,y)<<endl;
  14.     cout<<"三數相加的值為"<<calcu(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int calcu(int x,int y)
  19. {
  20.     return x+y;   
  21. }
  22. int calcu(int x,int y,int z)
  23. {
  24.     return x+y+z;   
  25. }
複製代碼

作者: 林以諾    時間: 2014-3-22 15:00

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int total(int,int);
  5. int total(int,int,int);
  6. int main()
  7. {
  8.     int x,y,z;
  9.     cout<<"請依序輸入前三數: "<<endl;
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數和為: "<<total(x,y)<<endl;
  14.     cout<<"前三數和為: "<<total(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int total(int x,int y)
  19. {
  20.         return x+y;
  21. }
  22. int total(int x,int y, int z)
  23. {
  24.         return x+y+z;
  25. }
複製代碼

作者: 許逸群    時間: 2014-3-22 15:02

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int total(int,int);
  5. int total(int,int,int);
  6. int main()
  7. {
  8.     int x,y,z;
  9.     cout<<"請依序輸入前三數: "<<endl;
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數和為: "<<total(x,y)<<endl;
  14.     cout<<"前三數和為: "<<total(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int total(int x,int y)
  19. {
  20.         return x+y;
  21. }
  22. int total(int x,int y, int z)
  23. {
  24.         return x+y+z;
  25. }
複製代碼

作者: 張瀚仁    時間: 2014-3-22 15:02

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int calcu(int,int);
  5. int calcu(int,int,int);
  6. int main()
  7. {
  8.     int x, y, z;
  9.     cout<<"請依序輸入任意三個數: ";
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數相加的值為"<<calcu(x,y)<<endl;
  14.     cout<<"三數相加的值為"<<calcu(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int calcu(int x,int y)
  19. {
  20.     return x+y;   
  21. }
  22. int calcu(int x,int y,int z)
  23. {
  24.     return x+y+z;   
  25. }
複製代碼

作者: 黃崇維    時間: 2014-3-22 15:04

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int calcu(int,int);
  5. int calcu(int,int,int);
  6. int main()
  7. {
  8.     int x, y, z;
  9.     cout<<"請依序輸入任意三個數: ";
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數相加的值為"<<calcu(x,y)<<endl;
  14.     cout<<"三數相加的值為"<<calcu(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int calcu(int x,int y)
  19. {
  20.     return x+y;   
  21. }
  22. int calcu(int x,int y,int z)
  23. {
  24.     return x+y+z;   
  25. }
複製代碼

作者: 鎧言    時間: 2014-3-22 15:08

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int calcu(int,int);
  5. int calcu(int,int,int);
  6. int main()
  7. {
  8.     int x, y, z;
  9.     cout<<"請依序輸入任意三個數: ";
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數相加的值為"<<calcu(x,y)<<endl;
  14.     cout<<"三數相加的值為"<<calcu(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int calcu(int x,int y)
  19. {
  20.     return x+y;   
  21. }
  22. int calcu(int x,int y,int z)
  23. {
  24.     return x+y+z;   
  25. }
複製代碼

作者: 劉泳鱔    時間: 2014-3-29 11:07

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int total(int,int);
  5. int total(int,int,int);
  6. int main()
  7. {
  8.     int x, y, z;
  9.     cout<<"請依序輸入任意三個數: ";
  10.     cin>>x;
  11.     cin>>y;
  12.     cin>>z;
  13.     cout<<"前兩數相加的值為"<<total(x,y)<<endl;
  14.     cout<<"三數相加的值為"<<total(x,y,z)<<endl;
  15.     system("pause");   
  16.     return 0;
  17. }
  18. int total(int x, int y)
  19. {
  20.     return x+y;   
  21. }
  22. int total(int x, int y, int z)
  23. {
  24.     return x+y+z;   
  25. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2