01/10/2018, 15:53

Hỏi về constructor C++

Em đang tự học C++.
Trong class không có constructor mặc định nhưng xuống hàm main thì cái câu lệnh dòng 18 lại không báo lỗi “default constructor doesn’t exist”. Em không hiếu chỗ đó ạ, anh chị nào giải thích giúp em với!

Nguyễn Văn Nam viết 17:57 ngày 01/10/2018

Cái constructor kia có default giá trị truyền vào kìa. Nên không báo lỗi là đúng rồi còn gì.

Hitokiri Battousai viết 18:00 ngày 01/10/2018

Vì sao có cái đối số mặc định thì lại không có lỗi còn không thì thì lại có lỗi không tồn tại constructor mặc định vậy à? Em cứ nghĩ là có 1 constructor có tham số thì cái constructor ngầm nó không được tạo ra nữa nên khởi tạo đối tượng không có đối số thì nó sẽ lỗi chứ…

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

“Mặc định” nghĩa là nếu không cho vào thì sẽ lấy cái có sẵn cho trước. Áp dụng định nghĩa thì dù không cho đối số thì vẫn gọi hàm đó thôi.

Hitokiri Battousai viết 17:56 ngày 01/10/2018

Ra là vậy… Cảm ơn nhiều ạ. <3

Bài liên quan
0