Cho lớp Time với ngôn ngữ C++ như sau:
class time {
int hour,min, sec;
public:
void addHour(int h);
}
Khi xây dựng phương thức addHour bên ngoài lớp Time ta phải viết là:
class time {
int hour,min, sec;
public:
void addHour(int h);
}
Khi xây dựng phương thức addHour bên ngoài lớp Time ta phải viết là:
Trả lời:
Đáp án đúng: D
Trong C++, khi định nghĩa một phương thức (function) bên ngoài lớp (class) mà phương thức đó đã được khai báo bên trong lớp, ta cần sử dụng toán tử phạm vi (scope resolution operator) `::` để chỉ rõ phương thức này thuộc về lớp nào.
Trong trường hợp này, phương thức `addHour` đã được khai báo trong lớp `Time`. Vì vậy, khi định nghĩa nó bên ngoài lớp, cú pháp đúng phải là `void Time::addHour(int h) {//Nội dung}`. Điều này cho trình biên dịch biết rằng phương thức `addHour` mà chúng ta đang định nghĩa là một phần của lớp `Time`.
Các lựa chọn khác không đúng vì:
- A và B: Không sử dụng toán tử phạm vi `::`, dẫn đến việc trình biên dịch không hiểu phương thức `addHour` này thuộc về lớp `Time`.
- C: Sai cú pháp, phải là `Time::addHour` chứ không phải `time:addHour` (chú ý chữ hoa/thường).
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
