Hãy xem xét đoạn mã sau:
class A
{
int a,b;
public:
float F1,F2;
};
class B:public A
{
}
Hỏi: B sử dụng Được các biến thành viên nào của A
Trả lời:
Đáp án đúng: B
Trong C++, khi một lớp (class) kế thừa từ một lớp khác (ở đây, class B kế thừa từ class A), các thành viên của lớp cơ sở (class A) sẽ được kế thừa vào lớp dẫn xuất (class B) theo các mức truy cập khác nhau:
- Các thành viên `private`: Không thể truy cập trực tiếp từ lớp dẫn xuất.
- Các thành viên `protected`: Có thể truy cập từ lớp dẫn xuất.
- Các thành viên `public`: Có thể truy cập từ bất kỳ đâu.
Trong đoạn mã trên:
- `a` và `b` được khai báo mà không có từ khóa chỉ định mức truy cập, mặc định chúng là `private` trong C++ (nếu khai báo trong struct thì mặc định là public).
- `F1` và `F2` được khai báo là `public`.
Vì class B kế thừa class A theo kiểu `public`, nên các thành viên `public` của A sẽ trở thành `public` trong B. Các thành viên `private` của A không thể truy cập trực tiếp từ B.
Do đó, B có thể sử dụng `F1` và `F2` của A. Tuy nhiên, B không thể truy cập trực tiếp `a` và `b` vì chúng là `private` trong A.
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
