Có phải mọi lớp đều có một phương thức khởi tạo mặc định C ++ không?
Có phải mọi lớp đều có một phương thức khởi tạo mặc định C ++ không?

Video: Có phải mọi lớp đều có một phương thức khởi tạo mặc định C ++ không?

Video: Có phải mọi lớp đều có một phương thức khởi tạo mặc định C ++ không?
Video: Java 30. Cách xây dựng lớp và phương thức khởi tạo Constructor | Phần 2 - Lập trình Hướng Đối Tượng 2024, Tháng mười một
Anonim

Các hàm tạo mặc định ( C ++ chỉ một)

MỘT hàm tạo mặc định là Một constructor nó cũng không phải có không có tham số, hoặc nếu nó có thông số, tất cả các những thông số có mặc định các giá trị. Nếu không có người dùng xác định constructor tồn tại cho một lớp A và một Là cần thiết, trình biên dịch khai báo một cách ngầm định vỡ nợ không tham số constructor A:: A ().

Tương tự, bạn có cần một phương thức khởi tạo mặc định C ++ không?

Trình biên dịch sẽ khai báo ngầm nhà xây dựng mặc định nếu không được cung cấp bởi lập trình viên, sẽ xác định nó khi trong nhu cầu . Trình biên dịch xác định nhà xây dựng mặc định Là yêu cầu đến làm khởi tạo nhất định của nội bộ lớp. Trình biên dịch cần chèn mã để gọi hàm tạo mặc định của lớp cơ sở / đối tượng nhúng.

Cũng cần biết, một lớp không có hàm tạo C ++ có thể không? Nếu là của bạn lớp không có hàm tạo , C ++ sẽ tự động tạo mặc định công khai constructor cho bạn. Điều này đôi khi được gọi là ẩn constructor (hoặc được tạo ngầm constructor ).

Người ta cũng có thể hỏi, có phải mọi lớp đều có một hàm tạo mặc định không?

Có tất cả các lớp học mà chúng tôi tạo trong java đi kèm với nhà xây dựng mặc định không có tham số. Nhưng ngay sau khi chúng tôi tạo một tham số hóa constructor điều đó hàm tạo mặc định get loại bỏ.

Làm cách nào để bạn gọi một hàm tạo mặc định trong C ++?

Constructor có cùng tên với chính lớp đó. Người xây dựng không có loại trả lại. MỘT constructor được gọi tự động khi một đối tượng được tạo. Nếu chúng tôi không chỉ định một constructor , C ++ trình biên dịch tạo ra một nhà xây dựng mặc định cho chúng tôi (mong đợi không có tham số và có phần thân trống).