JavaScript is required

Đoạn chương trình sau khi biên dịch phát sinh ra lỗi không khai báo biến x tại dòng:

                                                                    

A.

Sửa dòng void nhap(); thứ hai thành void A::nhap();

B.

Khai báo thêm biến x trong hàm nhap;

C.

Chương trình bị lỗi không chạy được

D.

Tất cả đều đúng

Trả lời:

Đáp án đúng: A


Đoạn chương trình trên bị lỗi do hàm `nhap()` được định nghĩa bên ngoài lớp `A` mà không có chỉ định phạm vi (scope resolution operator). Điều này khiến trình biên dịch hiểu rằng bạn đang định nghĩa một hàm `nhap()` độc lập, không liên quan đến lớp `A`, do đó không thể truy cập vào biến thành viên `x` của lớp `A`. Để sửa lỗi này, ta cần phải chỉ rõ hàm `nhap()` là thành viên của lớp `A` bằng cách sử dụng toán tử `::`. Do đó, đáp án đúng là sửa dòng `void nhap();` thứ hai thành `void A::nhap();`. Các phương án khác: - Khai báo thêm biến x trong hàm nhap: Giải pháp này không đúng vì biến x đã được khai báo trong class A. - Chương trình bị lỗi không chạy được: Đúng là chương trình lỗi, nhưng lỗi cụ thể là do thiếu phạm vi của hàm nhap. - Tất cả đều đúng: Không đúng vì chỉ có một đáp án đú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