JavaScript is required

Xây dựng hàm tạo sao chép của lớp Diem trong C++ khai báo theo cú pháp sau:

A.

Diem (const Diem &D);

B.

Diem (Diem D);

C.

Diem (float x, float y);

D.
Diem (Diem D1, Diem D2);
Trả lời:

Đáp án đúng: A


Hàm tạo sao chép (copy constructor) là một hàm thành viên đặc biệt của một lớp, được sử dụng để tạo một đối tượng mới là bản sao của một đối tượng đã tồn tại. Trong C++, hàm tạo sao chép có dạng `ClassName (const ClassName &object)`. Tham số của nó là một tham chiếu hằng đến một đối tượng cùng lớp. * **Phương án A:** `Diem (const Diem &D);` - Đây là khai báo đúng của hàm tạo sao chép. Nó nhận một tham chiếu hằng đến một đối tượng `Diem` khác. Việc sử dụng tham chiếu hằng (`const Diem &`) đảm bảo rằng đối tượng gốc không bị thay đổi và tránh việc sao chép không cần thiết, tăng hiệu quả. * **Phương án B:** `Diem (Diem D);` - Đây không phải là khai báo đúng của hàm tạo sao chép. Nếu tham số được truyền theo giá trị, nó sẽ gọi lại hàm tạo sao chép, dẫn đến đệ quy vô hạn và lỗi tràn stack. * **Phương án C:** `Diem (float x, float y);` - Đây là hàm tạo thông thường nhận hai số thực, không phải hàm tạo sao chép. Nó thường được dùng để khởi tạo một đối tượng `Diem` với tọa độ `x` và `y` cho trước. * **Phương án D:** `Diem (Diem D1, Diem D2);` - Đây không phải là khai báo hàm tạo sao chép. Nó có thể là một hàm tạo khác nhận hai đối tượng `Diem` làm tham số, nhưng không phải mục đích để sao chép một đối tượng đã tồn tại.

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