Khai báo một lớp như sau:
class LopA
{
public:
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cm»b;
}
};
Sau khi tạo con trỏ ở lớp *pobj của LopA thì dùng cú pháp nào sau đây để truy xuất thủ tục nhập ()
class LopA
{
public:
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cm»b;
}
};
Sau khi tạo con trỏ ở lớp *pobj của LopA thì dùng cú pháp nào sau đây để truy xuất thủ tục nhập ()
Trả lời:
Đáp án đúng: A
Khi bạn có một con trỏ đến một đối tượng (trong trường hợp này, `pobj` là con trỏ đến một đối tượng của lớp `LopA`), bạn sử dụng toán tử `->` để truy cập các thành viên (biến hoặc hàm) của đối tượng mà con trỏ đó trỏ tới. Toán tử `.` được sử dụng trực tiếp trên một đối tượng, không phải trên một con trỏ. Do đó, `pobj->nhap()` là cú pháp chính xác để gọi phương thức `nhap()` thông qua con trỏ `pobj`.
Các phương án khác không đúng vì:
- `*pobj.nhap()`: Cú pháp này không đúng vì toán tử `.` có độ ưu tiên cao hơn toán tử `*`. Do đó, nó sẽ cố gắng truy cập thành viên `nhap` của `pobj` (bản thân `pobj` chứ không phải đối tượng mà nó trỏ tới), điều này không hợp lệ vì `pobj` là một con trỏ, không phải một đối tượng.
- `pobj.nhap()`: Sai vì `pobj` là một con trỏ, không phải là một đối tượng trực tiếp. Toán tử `.` chỉ dùng cho đối tượng.
- `*pobj. nhap();`: Tương tự như trên, đây là một lỗi cú pháp vì nó cố gắng truy cập một thành viên bằng toán tử `.` trên một con trỏ, và thứ tự ưu tiên của các toán tử không chính xác.
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
