Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Quá tải các hàm. không phải ai cũng biết

  1. #1
    Ngày gia nhập
    07 2006
    Bài viết
    22

    Mặc định Quá tải các hàm. không phải ai cũng biết

    Quá tải các hàm.
    Hai hàm có thể có cũng tên nếu khai báo tham số của chúng khác nhau, điều này có nghĩa là bạn có thể đặt cùng một tên cho nhiều hàm nếu chúng có số tham số khác nhau hay kiểu dữ liệu của các tham số khác nhau (hay thậm chí là kiểu dữ liệu trả về khác nhau). Ví dụ:
    PHP Code:
    // overloaded function 
    #include <iostream.h> 

    int divide (int aint b

    return (
    a/b); 


    float divide (float afloat b

    return (
    a/b); 


    int main () 

    int x=5,y=2
    float n=5.0,m=2.0
    cout << divide (x,y); 
    cout << "\n"
    cout << divide (n,m); 
    return 
    0

    2
    2.5
    Trong ví dụ này chúng ta định nghĩa hai hàm có cùng tên nhưng một hàm dùng hai tham số kiểu int và hàm còn lại dùng kiểu float. Trình biên dịch sẽ biết cần phải gọi hàm nào bằng cách phân tích kiểu tham số khi hàm được gọi.
    Để đơn giản tôi viết cả hai hàm đều có mã lệnh như nhau nhưng điều này không bắt buộc. Bạn có thể xây dựng hai hàm có cùng tên nhưng hoạt động hoàn toàn khác nhau.

  2. #2
    Ngày gia nhập
    07 2006
    Bài viết
    166

    Cậu dịch buồn cười quá, phải dịch là chồng hàm chứ, nếu không thì cứ để tiếng Anh cũng được.

  3. #3
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,749

    'Quá tải các hàm' thường là từ dịch theo ý hiểu của người lập trình, em nghĩ cũng là thường thôi. Nếu anh dịch là 'Chồng chất các hàm' người đọc sẽ không hiểu chồng chất để làm gì? chồng lên? hay là chồng đống? Nên thường các sách dịch ra tiếng Việt thường dịch là 'Quá tải'.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  4. #4
    No Avatar
    noname.cpp Khách

    Tôi nghĩ nên dịch là "Chồng hàm" thì hợp lý hơn.Do các hàm chồng có cùng tên nên nó khiến ta liên tưởng đến hình ảnh các vật giống nhau được chồng chất lên nhau.

    Còn dịch là "Quá tải hàm" là dịch nguyên si từ tiếng Anh(Overload) nghe thế nào ấy, người mới học lại nghĩ đến những chiếc xe chở quá tải chắc ớn lắm.

  5. #5
    Ngày gia nhập
    07 2006
    Bài viết
    22

    thật ra đây là thuật ngữ của dân lập trình thôi,hay còn gọi là tiếng lóng cũng được,nghe có vẽ kì kì phải không, dịch sao cũng đúng hết, chủ yếu là do cách nghỉ của tùng người. tôi nói vậy đúng không các bạn.
    :p)

  6. #6
    Ngày gia nhập
    07 2006
    Bài viết
    166

    Mặc định Quá tải các hàm. không phải ai cũng biết

    Sau này dịch tiếp là "quá tải toán tử" còn choáng hơn )

  7. #7
    No Avatar
    pinochu Khách

    rồi còn override, overwrite nữa

  8. #8
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    nên gọi là toán tử/hàm nạp chồng hợp lý hơn

    overwrite: ghi đè
    ==>override: chắc là lái đè hay đạp đè (vì ride là cỡi xe đạp mà)
    hay là đạp chồng, chắc cũng được

  9. #9
    No Avatar
    yuchin Khách

    các bạn dịch từ làm mình choáng quá trời
    lại còn có thêm vụ đạp đè hay lái đè gì đó
    bó tay
    nhưng mình nghĩ điều quan trọng nhất khi quá tải hàm là sự khác nhau trong các tham số truyền vào cho hàm cho dù kết quả trả về giống như nhau

  10. #10
    Ngày gia nhập
    07 2006
    Bài viết
    121

    các cậu coi thử đoạn code này và chạy thử coi:
    C++ Code:
    1. #include <iostream.h>
    2.  
    3. #define divide(x,y) (x)/(y)
    4.                    
    5. int main ()
    6. {
    7. int x=5,y=2;
    8. float n=5.0,m=2.0;
    9. cout << divide(x,y);
    10. cout << "\n";
    11. cout << divide (n,m);
    12. return 0;
    13. }

    Các cậu thấy đáng sợ hơn nữa là khi các cậu định nghĩa một kiểu dữ liệu mới và có định nghĩa toán tử / cho KDL mới này thì nó vẫn chia cái một.(đây chỉ là một trò nhỏ trong tiền sử lý)
    Đã được chỉnh sửa lần cuối bởi shinichi_haha : 22-08-2006 lúc 08:35 PM.

Các đề tài tương tự

  1. Ai biết về CÔNG TY CỔ PHẦN PHẦN MỀM ONSOFT HN cho mình hỏi chút
    Gửi bởi hades_junior trong diễn đàn Thắc mắc chung
    Trả lời: 0
    Bài viết cuối: 17-04-2013, 07:15 PM
  2. Biết nhiều ngôn ngữ lập trình nhưng biết không sâu ! phải làm thế nào ?
    Gửi bởi oxfordthuongyeu trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 30
    Bài viết cuối: 06-03-2013, 03:48 PM
  3. Lập trình C++ Về phạm vi biến
    Gửi bởi ductri_vn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 19-11-2012, 12:03 PM
  4. phần biệt biến toàn cục và biến cục cộ (local and global)
    Gửi bởi fanmaytinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 14-10-2009, 10:25 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn