JavaScript is required

 Cho lớp Dathuc, để thực hiện khai báo sau mà không lỗi:

void main()

{

Dathuc

D1,D2(D1);

}

Ta cần xây dựng:

A.

Hàm tạo không đối và hàm tạo sao chép

B.

Hàm tạo không đối và hàm tạo có đối

C.

Hàm tạo có đối số mặc định 

D.

Hàm tạo có đối

Trả lời:

Đáp án đúng: A


Đoạn code cho thấy việc khai báo `Dathuc D1, D2(D1);` - `Dathuc D1;` đòi hỏi lớp `Dathuc` phải có hàm tạo không đối số (default constructor). Nếu không có hàm tạo nào được định nghĩa, trình biên dịch sẽ tự động tạo một hàm tạo mặc định không đối số. Tuy nhiên, nếu đã có hàm tạo khác được định nghĩa, bạn cần tự cung cấp hàm tạo mặc định nếu muốn sử dụng cú pháp này. - `Dathuc D2(D1);` đòi hỏi lớp `Dathuc` phải có hàm tạo sao chép (copy constructor). Hàm tạo sao chép được sử dụng để tạo một đối tượng mới từ một đối tượng đã tồn tại. Trong trường hợp này, `D2` được tạo bằng cách sao chép từ `D1`. Do đó, để đoạn code trên hoạt động mà không gây ra lỗi, lớp `Dathuc` cần phải có cả hàm tạo không đối số và hàm tạo sao chép.

Cùng ôn thi với bộ câu hỏi trắc nghiệm môn Lập trình hướng đối tượng có đáp án mà tracnghiem.net chia sẽ dưới đây, nhằm giúp các bạn sinh viên chuyên ngành chuẩn bị cho kì thi sắp tới.


50 câu hỏi 60 phút

Câu hỏi liên quan