Trả lời: 
Đáp án đúng: D
Đoạn chương trình C++ trên thực hiện các phép gán và tăng giá trị của biến `a`. Ban đầu, `a` được gán giá trị 5. Sau đó, `a` được gán bằng `a + 6`, tức là `5 + 6 = 11`. Cuối cùng, giá trị của `a` (là 11) được in ra màn hình.
Vậy, đáp án đúng là 11.
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
Lời giải:
Đáp án đúng:  A
Đoạn mã có một số lỗi sau:
1. Dòng 5 và 11: `friend voidNhap();` và `friend void Nhap( );` khai báo hàm bạn `Nhap` (có thể có ý định là `nhap`) nhưng không có kiểu trả về và tên lớp nào được chỉ định để hàm này là bạn. Điều này là không hợp lệ.
2. Dòng 13: `void nhap()` định nghĩa một hàm `nhap` (viết thường). Tuy nhiên, trong C++, tên hàm phân biệt chữ hoa chữ thường, nên hàm `Nhap` (viết hoa chữ N) được khai báo là friend ở trên khác với hàm `nhap` này.
3. Dòng 15: `Lop 1 obj 1; Lop2 obj 2;` có lỗi chính tả. Tên lớp là `Lopl` (chữ l chứ không phải số 1). Ngoài ra, các biến cần được phân tách bằng dấu chấm phẩy (`;`). Sửa lại là `Lopl obj1; Lop2 obj2;`.
4. Dòng 16 và 17: `cout«"\n\t Nhap a ="; cin»objl.a;` và `cout«"\n\t Nhap x cin»obj2.x;` có một số lỗi:
* Toán tử xuất (`<<`) và nhập (`>>`) bị viết sai.
* `objl` và `obj2` phải là `obj1` và `obj2` (lỗi chính tả).
* Hàm `nhap` (viết thường) được định nghĩa, không phải `Nhap` (viết hoa).
Như vậy, dòng 16 và 17 chứa nhiều lỗi nhất.
1. Dòng 5 và 11: `friend voidNhap();` và `friend void Nhap( );` khai báo hàm bạn `Nhap` (có thể có ý định là `nhap`) nhưng không có kiểu trả về và tên lớp nào được chỉ định để hàm này là bạn. Điều này là không hợp lệ.
2. Dòng 13: `void nhap()` định nghĩa một hàm `nhap` (viết thường). Tuy nhiên, trong C++, tên hàm phân biệt chữ hoa chữ thường, nên hàm `Nhap` (viết hoa chữ N) được khai báo là friend ở trên khác với hàm `nhap` này.
3. Dòng 15: `Lop 1 obj 1; Lop2 obj 2;` có lỗi chính tả. Tên lớp là `Lopl` (chữ l chứ không phải số 1). Ngoài ra, các biến cần được phân tách bằng dấu chấm phẩy (`;`). Sửa lại là `Lopl obj1; Lop2 obj2;`.
4. Dòng 16 và 17: `cout«"\n\t Nhap a ="; cin»objl.a;` và `cout«"\n\t Nhap x cin»obj2.x;` có một số lỗi:
* Toán tử xuất (`<<`) và nhập (`>>`) bị viết sai.
* `objl` và `obj2` phải là `obj1` và `obj2` (lỗi chính tả).
* Hàm `nhap` (viết thường) được định nghĩa, không phải `Nhap` (viết hoa).
Như vậy, dòng 16 và 17 chứa nhiều lỗi nhất.
Lời giải:
Đáp án đúng:  A
Trong đoạn mã C++ đã cho, Lop2 kế thừa từ Lopl và đồng thời chứa một đối tượng p thuộc kiểu Lopl. Câu hỏi đặt ra là làm thế nào để đối tượng objLop2 (thuộc lớp Lop2) có thể truy xuất hàm nhap() của lớp Lopl.
Phân tích các phương án:
- Phương án 1: objLop2.nhap{). Cách viết
 objLop2.p.nhap()objLop2.nhap{)không hợp lệ trong C++, dấu ngoặc nhọn không đúng. Tuy nhiên, biểu thứcobjLop2.p.nhap()là đúng. VìLop2chứa một đối tượngpkiểuLopl, ta có thể truy cập hàmnhap()củapbằng cách này.
- Phương án 2: objLop2.nhap(). VìLop2kế thừa từLopl, đối tượngobjLop2có thể trực tiếp truy cập các thành viên public củaLopl, bao gồm cả hàmnhap(). Do đó, phương án này đúng.
- Phương án 3: objLop2.p ^nhap(). Toán tử^không được sử dụng để truy cập thành viên của một đối tượng trong C++. Phương án này sai.
- Phương án 4: Tất cả đều sai.
Vì cả phương án 1 (một phần) và phương án 2 đều đúng, ta cần chọn phương án đúng nhất. Phương án 2 là ngắn gọn và trực tiếp nhất. Tuy nhiên, phương án 1 cũng đúng một phần (objLop2.p.nhap()). Vì đề bài hỏi "cú pháp nào sau đây là đúng nhất?", ta chọn phương án 2.
Lời giải:
Đáp án đúng:  A
Trong lập trình hướng đối tượng, từ khóa `protected` được sử dụng để khai báo các thành viên (biến hoặc phương thức) của một lớp mà chỉ có thể được truy cập từ bên trong lớp đó, từ các lớp con (lớp kế thừa) của lớp đó, và từ các lớp trong cùng một package (nếu ngôn ngữ lập trình hỗ trợ khái niệm package). Điều này có nghĩa là các thành viên `protected` không thể được truy cập trực tiếp từ bên ngoài lớp hoặc từ các lớp không phải là lớp con và không nằm trong cùng package.
* Đáp án 1: Sai. Mặc dù `protected` liên quan đến thừa kế, nhưng nó không chỉ đơn thuần là "được thừa kế". Nó còn liên quan đến việc các lớp con có thể *truy cập* các thành viên đó.
* Đáp án 2: Đúng. `protected` có nghĩa là các thành viên được bảo vệ, tức là chỉ có một số đối tượng/lớp nhất định mới có quyền truy cập.
* Đáp án 3: Sai. `private` mới là từ khóa chỉ ra các thành viên chỉ được dùng riêng trong lớp đó.
* Đáp án 4: Sai. `protected` không có nghĩa là dùng chung cho tất cả, mà chỉ giới hạn cho lớp con và các lớp cùng package.
* Đáp án 1: Sai. Mặc dù `protected` liên quan đến thừa kế, nhưng nó không chỉ đơn thuần là "được thừa kế". Nó còn liên quan đến việc các lớp con có thể *truy cập* các thành viên đó.
* Đáp án 2: Đúng. `protected` có nghĩa là các thành viên được bảo vệ, tức là chỉ có một số đối tượng/lớp nhất định mới có quyền truy cập.
* Đáp án 3: Sai. `private` mới là từ khóa chỉ ra các thành viên chỉ được dùng riêng trong lớp đó.
* Đáp án 4: Sai. `protected` không có nghĩa là dùng chung cho tất cả, mà chỉ giới hạn cho lớp con và các lớp cùng package.
Lời giải:
Đáp án đúng:  A
Khi tạo đối tượng `objLop` bằng cú pháp `Lop objLop(4, 5)`, trình biên dịch sẽ tìm một hàm dựng phù hợp để khởi tạo đối tượng này. Trong trường hợp này, hàm dựng `Lop(int m, int n)` phù hợp vì nó nhận hai tham số kiểu `int`. Do đó, hàm dựng 2 sẽ được gọi để khởi tạo đối tượng `objLop` với `m = 4` và `n = 5`.
Hàm dựng 1 `Lop()` không được gọi vì nó không có tham số, trong khi cú pháp tạo đối tượng cung cấp hai tham số.
Do đó, đáp án đúng là hàm dựng 2.
Hàm dựng 1 `Lop()` không được gọi vì nó không có tham số, trong khi cú pháp tạo đối tượng cung cấp hai tham số.
Do đó, đáp án đúng là hàm dựng 2.
Lời giải:
Đáp án đúng:  B
Phương pháp lập trình cấu trúc là một phương pháp lập trình tập trung vào việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình. Mục tiêu chính là tránh sử dụng các lệnh nhảy (GOTO) một cách tùy tiện, thay vào đó sử dụng các cấu trúc điều khiển như tuần tự, rẽ nhánh (IF-THEN-ELSE), và lặp (FOR, WHILE) để làm cho chương trình dễ đọc, dễ hiểu, dễ bảo trì và ít lỗi hơn. Việc cấu trúc hóa chương trình giúp giảm độ phức tạp và tăng tính modularity, cho phép các phần của chương trình có thể được phát triển và kiểm tra độc lập.
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 
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 

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng
