Xem mẫu

  1. Updatesofts.com Ebooks Team vì 5 là k t qu c a subtraction (7,2). Còn v i l nh cout
  2. Updatesofts.com Ebooks Team T khoá void trong ph n danh sách tham s có nghĩa là hàm này không nh n m t tham s nào. Tuy nhiên trong C++ không c n thi t ph i s d ng void ñ làm ñi u này. B n ch ñơn gi n s d ng c p ngo c ñơn ( ) là xong. B i vì hàm c a chúng ta không có m t tham s nào, vì v y l i g i hàm dummyfunction s là : dummyfunction (); Hai d u ngo c ñơn là c n thi t ñ cho trình d ch hi u ñó là m t l i g i hàm ch không ph i là m t tên bi n hay b t kì d u hi u nào khác. Trang 33
  3. Updatesofts.com Ebooks Team Hàm (II). Truy n tham s theo tham s giá tr hay tham s bi n. Cho ñ n nay, trong t t c các hàm chúng ta ñã bi t, t t c các tham s truy n cho hàm ñ u ñư c truy n theo giá tr . ði u này có nghĩa là khi chúng ta g i hàm v i các tham s , nh ng gì chúng ta truy n cho hàm là các giá tr ch không ph i b n thân các bi n. Ví d , gi s chúng ta g i hàm addition như sau: int x=5, y=3, z; z = addition ( x , y ); Trong trư ng h p này khi chúng ta g i hàm addition thì các giá tr 5 and 3 ñư c truy n cho hàm, không ph i là b n thân các bi n. ð n ñây các b n có th h i tôi: Như v y thì sao, có nh hư ng gì ñâu ? ði u ñáng nói ñây là khi các b n thay ñ i giá tr c a các bi n a hay b bên trong hàm thì các bi n x và y v n không thay ñ i vì chúng ñâu có ñư c truy n cho hàm ch có giá tr c a chúng ñư c truy n mà thôi. Hãy xét trư ng h p b n c n thao tác v i m t bi n ngoài bên trong m t hàm. Vì v y b n s ph i truy n tham s dư i d ng tham s bi n như trong hàm duplicate trong ví d dư i ñây: x=2, y=6, z=14 // passing parameters by reference #include void duplicate (int& a, int& b, int& c) { a*=2; b*=2; c*=2; } int main () { int x=1, y=3, z=7; duplicate (x, y, z); cout
  4. Updatesofts.com Ebooks Team ði u ñ u tiên làm b n chú ý là trong khai báo c a duplicate theo sau tên ki u c a m i tham s ñ u là d u và (&), ñ báo hi u r ng các tham s này ñư c truy n theo tham s bi n ch không ph i tham s giá tr . Khi truy n tham s dư i d ng tham s bi n chúng ta ñang truy n b n thân bi n ñó và b t kì s thay ñ i nào mà chúng ta th c hi n v i tham s ñó bên trong hàm s nh hư ng tr c ti p ñ n bi n ñó. Trong ví d trên, chúng ta ñã liên k t a, b và c v i các tham s khi g i hàm (x, y và z) và m i s thay ñ i v i a bên trong hàm s nh hư ng ñ n giá tr c a x và hoàn toàn tương t v i b và y, c và z. Ki u khai báo tham s theo d ng tham s bi n s d ng d u và (&) ch có trong C++. Trong ngôn ng C chúng ta ph i s d ng con tr ñ làm vi c tương t như th . Truy n tham s dư i d ng tham s bi n cho phép m t hàm tr v nhi u hơn m t giá tr . Ví d , ñây là m t hàm tr v s li n trư c và li n sau c a tham s ñ u tiên. Previous=99, Next=101 // more than one returning value #include void prevnext (int x, int& prev, int& next) { prev = x-1; next = x+1; } int main () { int x=100, y, z; prevnext (x, y, z); cout
  5. Updatesofts.com Ebooks Team 6 // default values in functions 5 #include int divide (int a, int b=2) { int r; r=a/b; return (r); } int main () { cout
  6. Updatesofts.com Ebooks Team return (a/b); } int main () { int x=5,y=2; float n=5.0,m=2.0; cout
  7. Updatesofts.com Ebooks Team { if (a > 1) return (a * factorial (a-1)); else return (1); } int main () { long l; cout > l; cout
  8. Updatesofts.com Ebooks Team • Trong ph n li t kê các tham s ch c n vi t ki u c a chúng là ñ . Vi c vi t tên c a các tham s trong ph n khai báo m u là không b t bu c. Ví d : Type a number (0 to exit): 9 // prototyping Number is odd. #include Type a number (0 to exit): 6 Number is even. void odd (int a); Type a number (0 to exit): 1030 void even (int a); Number is even. Type a number (0 to exit): 0 int main () Number is even. { int i; do { cout > i; odd (i); } while (i!=0); return 0; } void odd (int a) { if ((a%2)!=0) cout