JavaScript is required
Danh sách đề

400+ câu hỏi trắc nghiệm Lập trình hướng đối tượng kèm đáp án và lời giải minh họa - Đề 7

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50

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

Đáp án
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`.

Danh sách câu hỏi:

Lời giả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âu 2:

Thế nào được gọi là hiện tượng nạp chồng?

Lời giải:
Đáp án đúng: A
Nạp chồng (Overloading) là khả năng định nghĩa nhiều hàm (phương thức) trong cùng một lớp (hoặc lớp con) có cùng tên, nhưng khác nhau về số lượng hoặc kiểu dữ liệu của các tham số (đối số). Điều này cho phép chúng ta sử dụng cùng một tên hàm cho các thao tác khác nhau, miễn là chúng có thể được phân biệt thông qua danh sách tham số. Phương án 1: Sai. Mô tả việc ghi đè (Overriding), không phải nạp chồng. Phương án 2: Đúng một phần. Mặc dù nạp chồng liên quan đến các hàm có cùng tên, nhưng sự khác biệt nằm ở kiểu hoặc số lượng tham số, không phải kiểu trả về. Phương án 3: Đúng. Đây là định nghĩa chính xác về nạp chồng: cùng tên, có thể cùng kiểu trả về, nhưng khác về số lượng hoặc kiểu dữ liệu của đối số. Phương án 4: Sai. Mô tả một trường hợp không phải nạp chồng, vì các đối số phải giống nhau về số lượng và kiểu dữ liệu trong nạp chồng, trong khi kiểu trả về có thể khác nhau. Vậy đáp án đúng nhất là phương án 3.
Lời giải:
Đáp án đúng: A
Đoạn mã có lỗi ở dòng 13, 16 và 17. Dòng 13, tên hàm `nhap()` không khớp với khai báo friend function `Nhap()` và `NhapQ`. Trong C++, tên hàm phân biệt chữ hoa chữ thường. Dòng 16 và 17, biến `a` và `x` chưa được khai báo trong phạm vi của hàm `nhap()`. Biến `objl.a` và `obj2.x` mới đúng. Vì vậy, đáp án đúng nhất là lỗi tại dòng 16, 17.

Câu 4:

ặc điểm cơ bản của lập trình hướng đối tượng thể hiện ở:

Lời giải:
Đáp án đúng: B
Đặc điểm cơ bản của lập trình hướng đối tượng (OOP) bao gồm bốn tính chất chính: 1. **Tính đóng gói (Encapsulation):** Là việc gói dữ liệu (thuộc tính) và phương thức (hành vi) thao tác trên dữ liệu đó vào trong một đơn vị duy nhất, gọi là lớp. Điều này giúp bảo vệ dữ liệu khỏi sự truy cập trực tiếp từ bên ngoài và đảm bảo tính toàn vẹn của dữ liệu. 2. **Tính kế thừa (Inheritance):** Cho phép một lớp (lớp con) kế thừa các thuộc tính và phương thức của một lớp khác (lớp cha). Điều này giúp tái sử dụng mã nguồn, giảm sự trùng lặp và xây dựng hệ thống phân cấp các lớp. 3. **Tính đa hình (Polymorphism):** Cho phép các đối tượng thuộc các lớp khác nhau có thể được xử lý thông qua một giao diện chung. Điều này giúp tăng tính linh hoạt và khả năng mở rộng của chương trình. Có hai loại đa hình chính: đa hình lúc biên dịch (static polymorphism) và đa hình lúc chạy (dynamic polymorphism). 4. **Tính trừu tượng (Abstraction):** Là quá trình đơn giản hóa bằng cách chỉ tập trung vào các đặc điểm quan trọng của đối tượng và bỏ qua các chi tiết không cần thiết. Điều này giúp giảm độ phức tạp của chương trình và giúp lập trình viên dễ dàng quản lý và hiểu code hơn. Với các phân tích trên, đáp án chính xác là đáp án số 2: Tính đóng gói, tính kế thừa, tính đa hình, tính trừu tượng.

Câu 5:

Khái niệm Lớp đối tượng?

Lời giải:
Đáp án đúng: A
Lớp đối tượng (Class) là một khái niệm quan trọng trong lập trình hướng đối tượng (OOP). Nó được xem như một bản thiết kế, một khuôn mẫu (blueprint) để tạo ra các đối tượng (objects) có cùng kiểu, cùng thuộc tính và phương thức. Các đối tượng là các thể hiện (instance) cụ thể của lớp. Vì vậy, đáp án đúng nhất là "Một thiết kế hay mẫu cho các đối tượng cùng kiểu". Các đáp án còn lại không chính xác vì chúng mô tả các khái niệm khác, không phải định nghĩa của lớp đối tượng.

Câu 6:

Phương pháp lập trình tuần tự là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 7:

Phương pháp lập trình module là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 8:

Cho đoạn chương trình sau:

                                       

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 9:

Thuộc tính của lớp là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 10:

Lời gọi tới hàm thành viên của lớp là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 12:

Khi nạp chồng các hàm thì điều kiện khác nhau giữa các hàm sẽ là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 13:

Cách khai báo kế thừa trong java sử dụng từ khóa: 

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 15:

Cho lớp đường thẳng tạo bởi 2 điểm A, B. Quan hệ giữa lớp đường thẳng và lớp điểm là: 

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 16:

Xây dựng lớp hình chữ nhật tạo bởi hai cạnh a, b. Để khai báo hàm tạo với tham số mặc định ta khai báo: 

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 17:

Khi khai báo lớp A là bạn của lớp B thì:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 19:

Các phương thức cơ bản của lớp xe hơi là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 20:

Mối quan hệ giữa lớp Người và lớp Sinh viên là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 21:

Cho lớp Time với ngôn ngữ C++ như sau:

class time {
int hour,min, sec;
public:
void addHour(int h);
}
Khi xây dựng phương thức addHour bên ngoài lớp Time ta phải viết là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 23:

Cho lớp Lophoc như hình trên, ý nghĩa của phương thức “ public string Malop” là:

                                                                    

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 24:

Cần In danh sách thí sinh dự thi theo phòng gồm các thông tin: SBD, Họ và tên, Ngày sinh, Giới tính, Phòng thi, Giờ thi. Người ta xây dựng hai lớp đối tượng là lớp đối tượng Thí sinh, lớp đối tượng Danh sách thí sinh theo phòng. Thuộc tính của lớp thí sinh là: 

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 26:

Cho đoạn chương trình như hình trên, dòng khai báo virtual void xungten() là: 

                                                               

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 27:

Cho đoạn chương trình khai báo như trên, việc sử dụng từ khóa static đứng trước khai báo tongsohd, tongtienban có ý nghĩa:

                                                                   

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 30:

class A là bạn của class B, class B là bạn của class C thì:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 32:

Có 3 lớp khai báo như sau:
class Lopl
{
private:
int a,b;
public:
float x,y;
friend class Lop2;
};
class Lop2
{
Lopl objA;
};
class Lop3
{
Lopl objB;
,};
Các Đối tượng objA và objB truy cập được các biến nào của lớp Lop1:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 34:

Sau khi khai báo và xây dựng thành công lớp đối tượng Sinh viên. Khi đó lớp đối tượng Sinh viên còn được gọi là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 35:

Thành phần public của lớp là thành phần:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 36:

Cho lớp người hãy xác định đâu là các thuộc tính của lớp người:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 37:

Người ta cần quản lý thông tin sinh viên trên máy tính, Hãy cho biết các thuộc tính của lớp sinh viên là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 38:

Khi khai báo thành phần thuộc tính và phương thức của lớp, nếu không khai báo từ khóa private, public hay protected thì mặt định sẽ là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 39:

Cho đoạn chương trình:
class A
{
private:
int x,y;
};
Làm nhiệm vụ:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 40:

Lời gọi phương thức ảo là
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 41:

Khai báo phương thức ảo:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 42:

Lớp Bạn của một lớp là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 43:

Các trường hợp trùng tên trong kế thừa là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 44:

Hãy cho biết thành phần thuộc tính của lớp đa thức xây dựng bằng mảng:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 46:

Để khai báo thành viên tĩnh trong C++ và Java đều dùng từ khóa static. Sự nhận định các phương thức tĩnh trong C++ và trong Java là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 47:

Một bạn xây dựng lại lớp số nguyên như trên, tại dòng số 3 bạn khai báo:
Một bạn xây dựng lại lớp số nguyên như trên, tại dòng số 3 bạn khai báo: (ảnh 1)
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 48:

Câu lệnh khai báo như sau:
template (class T, class U) T min (T a, U b)
{

}
có nghĩa là
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 49:

Từ khóa virtual khi đứng trước một hàm nào đó thì có ý nghĩa gì?
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 50:

Để đếm số kí tự trong một chuỗi thì dùng hàm nào sau đây:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP