JavaScript is required

Hãy xem xét đoạn mã sau:

class A

{

char x,y
protected:
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

A.

a, b, F1, F2

B.

F1, F2, x, y

C.

x, y, a, b

D.

F1, F2

Trả lời:

Đáp án đúng: A


Trong C++, khi một lớp (class) kế thừa từ một lớp khác, các thành viên của lớp cơ sở (lớp cha) sẽ được kế thừa theo các mức truy cập khác nhau. Cụ thể: - **public:** Các thành viên public của lớp cơ sở sẽ trở thành các thành viên public của lớp kế thừa. - **protected:** Các thành viên protected của lớp cơ sở sẽ trở thành các thành viên protected của lớp kế thừa. - **private:** Các thành viên private của lớp cơ sở không thể truy cập trực tiếp từ lớp kế thừa. Chúng chỉ có thể được truy cập thông qua các phương thức public hoặc protected của lớp cơ sở. Trong đoạn mã trên, lớp `B` kế thừa từ lớp `A` theo kiểu `public`. Do đó: - `F1` và `F2` là các thành viên public của `A`, nên chúng sẽ trở thành các thành viên public của `B`. - `a` và `b` là các thành viên protected của `A`, nên chúng sẽ trở thành các thành viên protected của `B`. - `x` và `y` là các thành viên private của `A`, nên chúng không thể truy cập trực tiếp từ `B`. Vì vậy, lớp `B` có thể sử dụng (truy cập) trực tiếp các biến thành viên `F1` và `F2` (thông qua quyền truy cập public), cũng như `a` và `b` (thông qua quyền truy cập protected). Tuy nhiên, `x` và `y` không thể truy cập trực tiếp từ `B`.

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