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 privateprivate: Không thể truy cập trực tiếp từ lớp dẫn xuất.
- Các thành viên protectedprotected: Có thể truy cập từ lớp dẫn xuất.
- Các thành viên publicpublic: Có thể truy cập từ bất kỳ đâu.
Trong đoạn mã trên:
- aa và bb được khai báo mà không có từ khóa chỉ định mức truy cập, mặc định chúng là privateprivate trong C++ (nếu khai báo trong struct thì mặc định là public).
- F1F1 và F2F2 được khai báo là publicpublic.
Vì class B kế thừa class A theo kiểu publicpublic, nên các thành viên publicpublic của A sẽ trở thành publicpublic trong B. Các thành viên privateprivate của A không thể truy cập trực tiếp từ B.
Do đó, B có thể sử dụng F1F1 và F2F2 của A. Tuy nhiên, B không thể truy cập trực tiếp aa và bb vì chúng là privateprivate 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
