01/10/2018, 08:35

Trong các hàm sau đây,cặp hàm nào được coi là overload @@ xin hỏi ý kiến mọi người

void hn(int p,int z){
}
void hn(int *p,int *z){
}
void hn(int &p,int &z){
}
Dee Pink viết 10:47 ngày 01/10/2018

mình nghĩ là k có cái nào gọi là overload hết! những cái này bạn chỉ cần gõ ra trên visual là tự có kq thôi, nếu k có lỗi thì là overload, ngược lại!

rogp10 viết 10:46 ngày 01/10/2018

Dự là 1+2, 2+3 thôi.

Cái món & này cũng là first-class “object” nhưng mà gán xong là như bt ngay.

Tran Hoang Son viết 10:35 ngày 01/10/2018

uh cảm ơn bạn ^^, mình cũng thử trước đó rồi, mình thấy gõ cả 3 kiểu hàm đều chạy được nên ms ko biết :)) trong khi đây là một câu trắc nghiệm trong bài thi của mình ấy T^T nên mình phân vân lắm

Tran Hoang Son viết 10:40 ngày 01/10/2018

cảm ơn bạn nhé.
mình cũng nghĩ như vậy :)) mà chả có cách nào chứng minh được cả.

rogp10 viết 10:43 ngày 01/10/2018

Một translation unit có cả 3 prototype vẫn biên dịch? Giờ bạn thêm code vào rồi gọi thử xem

HelloWorld viết 10:47 ngày 01/10/2018

Theo mình
gọi là chồng hàm khi
tên các hàm giống nhau
và đáp ứng 1 hoặc cả 3 đk

  • số tham số vào khác nhau
  • kiêu các tham số khác nhau
  • thứ tự các tham số khác nhau

như trên thì cùng cả kiểu cùng cả thứ tự, cùng cả số lương
hình như nó phân biệt qua tham chiếu và tham biến

như 3 hàm trên thì chỉ có 2 hàm
void hn(int *p,int *z){
}
void hn(int &p,int &z){
}
là nạp chồng
( ide vs 2013)
và phân biệt các hàm này bằng cách
lời gọi các hàm nếu gọi tên các biến thì sẽ gọi hàm tham chiếu
int a = 0, b = 0;
hn(a,b);
call
void hn(int &p,int &z){ }

còn nếu đưa vào địa chỉa của a, b thì sẽ gọi hàm tham biến
int a = 0, b = 0;
hn(&a,&b);
call
void hn(int *p,int *z){ }

cái này là hình thử trên ide, mình cũng chưa gặp trường hợp này
và kiểm tra thì kiểm tra được, nhưng k giải thích tân tường được

rogp10 viết 10:36 ngày 01/10/2018

1+2 vẫn được chứ bạn

HelloWorld viết 10:44 ngày 01/10/2018

mình thử trên visual studio 2013 k được

rogp10 viết 10:48 ngày 01/10/2018

Copy vào xem sao: https://ideone.com/fvST4M

Bài liên quan
0