30/09/2018, 17:10
[C++] Hai thắc mắc trong class
Em thấy nhiều chỗ người ta khởi tạo các giá trị mặc định cho 1 class như sau:
`foo(int _val) : val(_val) {}`
Vậy đây có phải là một hàm không ạ? Tại sao người ta dùng nó mà lại không dùng hàm constructor bình thường?
2.Trong hàm, em thấy người ta toàn khai báo tham số theo kiểu tham biến chứ không phải là con trỏ, tại sao thế ạ?
Từ đấy gợi ý giùm em cái luôn là lúc nào nên dùng tham biến, lúc nào nên dùng con trỏ?
Em xin cảm ơn trước
Bài liên quan
ko có kiểu trả về thì chắc là hàm khởi tạo
constructor bình thường là sao nhỉ ta?
truyền 1 biến có 3 loại:
tham trị, tham chiếu, con trỏ
đó chính là hàm constructor luôn đó bạn,
:val(_val)
dùng để truyền trực tiếp vào class luôn.Mình nghĩ là khác nhau ở chỗ 1 bên là copy constructor , 1 bên là bằng operator =
Sau đây là ví dụ: