Cho đoạn chương trình như hình trên. Thuộc tính của lớp Cong_dan được khai báo là:

Trả lời:
Đáp án đúng: A
Đề bài yêu cầu xác định các thuộc tính (attributes) của lớp `Cong_dan`. Xem xét code, thuộc tính được khởi tạo trong `__init__` là `HoTen`, `DiaChi`, và `CMT`.
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: D
Trong C++, khi một lớp kế thừa từ nhiều lớp cha (đa kế thừa) và các lớp cha có cùng tên phương thức (như phương thức `Xuat` trong lớp A và lớp B), sẽ xảy ra hiện tượng trùng tên (name collision). Khi đối tượng lớp con (C) gọi đến phương thức trùng tên này, trình biên dịch không thể tự động xác định được nên gọi phương thức `Xuat` của lớp A hay lớp B. Do đó, trình biên dịch sẽ báo lỗi. Để giải quyết lỗi này, ta cần chỉ rõ lớp cha mà phương thức `Xuat` được gọi đến, ví dụ: `obj.A::Xuat()` hoặc `obj.B::Xuat()`. Hoặc có thể ghi đè (override) phương thức Xuat trong lớp C để chỉ định hành vi mong muốn.
Lời giải:
Đáp án đúng: A
Câu hỏi đề cập đến việc chọn lọc các thuộc tính quan trọng của đối tượng thực tế để đưa vào mô hình quản lý trên máy tính. Đây chính là quá trình trừu tượng hóa dữ liệu, tức là tập trung vào những đặc điểm quan trọng nhất liên quan đến bài toán cụ thể và bỏ qua những chi tiết không cần thiết.
* A. Sự trừu tượng hóa dữ liệu: Đúng. Đây là quá trình chọn lọc và biểu diễn những đặc điểm quan trọng của đối tượng, bỏ qua những chi tiết không liên quan.
* B. Sự trừu tượng hóa chức năng: Sai. Trừu tượng hóa chức năng liên quan đến việc ẩn đi chi tiết triển khai của một hàm hoặc phương thức, chỉ cho người dùng biết chức năng của nó mà không cần biết cách nó hoạt động.
* C. Tính đa hình: Sai. Tính đa hình 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.
* D. Tính kế thừa: Sai. Tính kế thừa cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp cha.
Vậy, đáp án đúng là A.
* A. Sự trừu tượng hóa dữ liệu: Đúng. Đây là quá trình chọn lọc và biểu diễn những đặc điểm quan trọng của đối tượng, bỏ qua những chi tiết không liên quan.
* B. Sự trừu tượng hóa chức năng: Sai. Trừu tượng hóa chức năng liên quan đến việc ẩn đi chi tiết triển khai của một hàm hoặc phương thức, chỉ cho người dùng biết chức năng của nó mà không cần biết cách nó hoạt động.
* C. Tính đa hình: Sai. Tính đa hình 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.
* D. Tính kế thừa: Sai. Tính kế thừa cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp cha.
Vậy, đáp án đúng là A.
Lời giải:
Đáp án đúng: A
Phương thức `float KC2D(Diem D)` là một phương thức của lớp `Diem`, được dùng để tính khoảng cách từ một đối tượng `Diem` đến một điểm `D` khác. Trong đó `D` là tham số truyền vào của phương thức. Để gọi phương thức này, ta cần một đối tượng thuộc lớp `Diem`, ví dụ `D1`, và sau đó gọi phương thức `KC2D` thông qua đối tượng này, truyền vào đối tượng `Diem` thứ hai, ví dụ `D2`, làm tham số. Vì vậy, cú pháp gọi đúng sẽ là `D1.KC2D(D2)`. Để in ra kết quả, ta sử dụng `cout << D1.KC2D(D2);`
Phương án A đúng vì nó thể hiện đúng cú pháp gọi phương thức `KC2D` từ một đối tượng `Diem` và truyền một đối tượng `Diem` khác vào làm tham số, đồng thời in kết quả ra màn hình.
Phương án B sai vì `KC2D(D1, D2)` không phải là cú pháp gọi phương thức từ một đối tượng. Nó giống như một hàm độc lập, không thuộc lớp `Diem`.
Phương án C sai vì `KC2D(D1, D2).in()` không hợp lệ. Giả sử `KC2D(D1, D2)` đúng như phương án B thì `.in()` không phải là một phương thức hợp lệ để gọi sau khi tính khoảng cách.
Phương án D sai vì có một phương án đúng (phương án A).
Phương án A đúng vì nó thể hiện đúng cú pháp gọi phương thức `KC2D` từ một đối tượng `Diem` và truyền một đối tượng `Diem` khác vào làm tham số, đồng thời in kết quả ra màn hình.
Phương án B sai vì `KC2D(D1, D2)` không phải là cú pháp gọi phương thức từ một đối tượng. Nó giống như một hàm độc lập, không thuộc lớp `Diem`.
Phương án C sai vì `KC2D(D1, D2).in()` không hợp lệ. Giả sử `KC2D(D1, D2)` đúng như phương án B thì `.in()` không phải là một phương thức hợp lệ để gọi sau khi tính khoảng cách.
Phương án D sai vì có một phương án đúng (phương án A).
Lời giải:
Đáp án đúng: D
Đoạn mã `Phanso(int ts=0, int ms=1);` trong khai báo lớp `Phanso` thể hiện một hàm tạo (constructor). Hàm tạo này có hai tham số: `ts` (tử số) và `ms` (mẫu số). Điều đặc biệt ở đây là cả hai tham số đều có giá trị mặc định: `ts` mặc định là 0 và `ms` mặc định là 1. Điều này có nghĩa là khi tạo một đối tượng `Phanso`, ta có thể không cần truyền giá trị cho `ts` và `ms`, khi đó chúng sẽ tự động nhận giá trị mặc định.
* Hàm tạo sao chép tạo ra một đối tượng mới bằng cách sao chép từ một đối tượng đã tồn tại. Nó thường có dạng `Phanso(const Phanso &other);`.
* Phương thức gán dùng để gán giá trị của một đối tượng cho một đối tượng khác đã tồn tại. Nó thường có dạng `Phanso& operator=(const Phanso &other);`.
* Hàm tạo có tham số mặc định cho phép tạo đối tượng mà không cần cung cấp tất cả các tham số, các tham số còn thiếu sẽ lấy giá trị mặc định.
Như vậy, phương án D là đáp án chính xác nhất.
* Hàm tạo sao chép tạo ra một đối tượng mới bằng cách sao chép từ một đối tượng đã tồn tại. Nó thường có dạng `Phanso(const Phanso &other);`.
* Phương thức gán dùng để gán giá trị của một đối tượng cho một đối tượng khác đã tồn tại. Nó thường có dạng `Phanso& operator=(const Phanso &other);`.
* Hàm tạo có tham số mặc định cho phép tạo đối tượng mà không cần cung cấp tất cả các tham số, các tham số còn thiếu sẽ lấy giá trị mặc định.
Như vậy, phương án D là đáp án chính xác nhất.
Lời giải:
Đáp án đúng: A
Câu hỏi đề cập đến vấn đề đa kế thừa trong lập trình hướng đối tượng, cụ thể là trường hợp lớp D kế thừa từ cả lớp B và C, mà cả B và C lại kế thừa từ lớp A. Vấn đề phát sinh khi một đối tượng của lớp D có thể có nhiều bản sao của các thành phần từ lớp A, gây ra sự mơ hồ. Để giải quyết vấn đề này, ta sử dụng khái niệm "lớp cơ sở ảo" (virtual base class). Khi B và C kế thừa A là lớp cơ sở ảo, chỉ có một bản sao duy nhất của A được chia sẻ giữa B và C thông qua D.
* Đáp án A đúng: Khai báo A là lớp cơ sở ảo đối với B và C sẽ đảm bảo rằng chỉ có một bản sao của A được kế thừa vào lớp D, tránh sự trùng lặp và mơ hồ.
* Đáp án B sai: Việc khai báo A là lớp cơ sở ảo đối với D là không cần thiết và không giải quyết được vấn đề gốc. Vấn đề cần giải quyết là sự trùng lặp giữa B và C khi cùng kế thừa A.
* Đáp án C sai: Việc chỉ khai báo A là lớp cơ sở ảo đối với B không giải quyết được vấn đề. C vẫn kế thừa A theo cách thông thường, dẫn đến D vẫn có thể có hai bản sao của A (một từ B và một từ C).
* Đáp án D sai: Lớp D vẫn có thể kế thừa các thành phần của lớp A nếu lớp B và C được khai báo kế thừa lớp A là lớp cơ sở ảo, do đó mệnh đề "Hiển nhiên lớp D không thể kế thừa lớp A" là sai.
* Đáp án A đúng: Khai báo A là lớp cơ sở ảo đối với B và C sẽ đảm bảo rằng chỉ có một bản sao của A được kế thừa vào lớp D, tránh sự trùng lặp và mơ hồ.
* Đáp án B sai: Việc khai báo A là lớp cơ sở ảo đối với D là không cần thiết và không giải quyết được vấn đề gốc. Vấn đề cần giải quyết là sự trùng lặp giữa B và C khi cùng kế thừa A.
* Đáp án C sai: Việc chỉ khai báo A là lớp cơ sở ảo đối với B không giải quyết được vấn đề. C vẫn kế thừa A theo cách thông thường, dẫn đến D vẫn có thể có hai bản sao của A (một từ B và một từ C).
* Đáp án D sai: Lớp D vẫn có thể kế thừa các thành phần của lớp A nếu lớp B và C được khai báo kế thừa lớp A là lớp cơ sở ảo, do đó mệnh đề "Hiển nhiên lớp D không thể kế thừa lớp A" là sai.
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