NEW
Font size
WorksheetsTin học chương 2 C++
Total questions: 50
Worksheet time: 25mins
Trong C++, từ khóa dùng để khai báo lớp là:
A. object
B. class
C. struct
D. type
Lớp (class) trong C++ là:
A. Một biến
B. Một khuôn mẫu để tạo đối tượng
C. Một hàm
D. Một kiểu dữ liệu nguyên thủy
Đối tượng (object) được tạo ra từ:
A. struct
B. class
C. function
D. namespace
Trong ví dụ lớp SinhVien, các thuộc tính gồm:
A. inThongTin()
B. ten, tuoi, nganhHoc, diemTB
C. main()
D. setTen()
Trong C++, lớp kết thúc bằng:
A. }
B. } ;
C. endclass
D. stop
Thuộc tính trong lớp còn gọi là:
A. Function
B. Method
C. Attribute
D. Object
Phương thức (method) là:
A. Biến trong class
B. Hàm trong class
C. Namespace
D. Struct
Thuộc tính trong C++ mặc định có phạm vi:
A. public
B. private
C. protected
D. global
Phương thức getTen() trong lớp SinhVien là loại:
A. Constructor
B. Accessor
C. Mutator
D. Destructor
Phương thức setDiemTB(double diemTB) là loại:
A. Accessor
B. Mutator
C. Constructor
D. Destructor
public nghĩa là:
A. Chỉ dùng trong class
B. Có thể truy cập ở mọi nơi
C. Chỉ trong lớp con
D. Không dùng được
private nghĩa là:
A. Chỉ trong class
B. Truy cập ở mọi nơi
C. Truy cập từ lớp con
D. Không tồn tại
protected nghĩa là:
A. Chỉ dùng trong class
B. Truy cập ở lớp con
C. Truy cập ở mọi nơi
D. Không thể truy cập
Trong lớp SinhVien, inThongTin() khai báo ở phần:
A. private
B. public
C. protected
D. static
Tính đóng gói (Encapsulation) đạt được nhờ:
A. Kế thừa
B. Dùng private/protected
C. Dùng pointer
D. Dùng struct
Hàm tạo (constructor) có đặc điểm:
A. Cùng tên với class
B. Có kiểu trả về
C. Không thể overload
D. Chạy thủ công
Hàm hủy (destructor) trong C++ có tên bắt đầu bằng:
A. new
B. del
C. ~
D. void
Lớp SinhVien có bao nhiêu constructor trong ví dụ?
A. 0
B. 1
C. 2
D. 3
Hàm hủy trong lớp SinhVien:
A. ~SinhVien()
B. delete SinhVien()
C. destroy SinhVien()
D. free()
Nếu không khai báo constructor, C++:
A. Báo lỗi
B. Tự tạo constructor mặc định
C. Không cho tạo object
D. Bắt buộc overload
Chồng phương thức là:
A. Dùng lại code
B. Hai hàm cùng tên nhưng khác tham số
C. Một hàm nhiều return
D. Constructor gọi nhau
Ví dụ tinhDienTich(int canh) và tinhDienTich(int dai, int rong) là:
A. Override
B. Overloading
C. Abstract
D. Virtual
Trình biên dịch chọn hàm overload dựa vào:
A. Tên hàm
B. Kiểu và số tham số
C. Vị trí
D. Access modifier
Overloading giúp:
A. Tăng tốc độ chạy
B. Linh hoạt khi gọi hàm
C. Giảm số dòng code
D. Tăng bảo mật
Nếu không có overload phù hợp, C++ sẽ:
A. Báo lỗi
B. Tự ép kiểu
C. Gọi hàm gần nhất
D. Bỏ qua
Tạo đối tượng SinhVien a("A", 20, "CNTT", 8.5); nghĩa là:
A. Cấp phát động
B. Cấp phát trên stack
C. Không cấp phát bộ nhớ
D. Không hợp lệ
Tạo đối tượng bằng new:
A. SinhVien a;
B. SinhVien* p = new SinhVien();
C. SinhVien b();
D. class SinhVien sv;
Giải phóng bộ nhớ object trên heap dùng:
A. free()
B. delete
C. exit()
D. return
Truy cập method bằng con trỏ:
A. obj.method()
B. ptr.method()
C. ptr->method()
D. class.method()
Dùng danh sách khởi tạo:
A. SinhVien sv = new SinhVien();
B. SinhVien sv("A", 20, "CNTT", 8.5);
C. SinhVien sv->inThongTin();
D. void SinhVien();
Trong ví dụ, a.inThongTin(); in ra:
A. Giá trị thuộc tính của a
B. Địa chỉ a
C. Constructor
D. Destructor
Phương thức setTen("Nguyen Van B") sẽ:
A. Đặt lại tên
B. Xóa tên
C. In tên
D. Không tác động
Khi gọi getDiemTB(), trả về:
A. Một biến string
B. Một biến double
C. Một con trỏ
D. Một hàm
this->ten trong constructor nghĩa là:
A. Tên lớp
B. Biến toàn cục
C. Thuộc tính của object hiện tại
D. Namespace
Destructor gọi khi:
A. Chạy main()
B. Object bị hủy
C. Constructor kết thúc
D. Khai báo biến
Thuộc tính liên kết với phương thức như thế nào?
A. Thuộc tính là dữ liệu, phương thức thao tác trên dữ liệu
B. Ngược lại
C. Không liên quan
D. Tách biệt hoàn toàn
get/set method còn gọi là:
A. Constructor
B. Accessor/Mutator
C. Virtual
D. Inline
Khi không muốn class bị truy cập từ ngoài, ta dùng:
A. public
B. private
C. protected
D. friend
Tại sao dùng inThongTin()?
A. Đóng gói in dữ liệu
B. Gọi main()
C. Thay constructor
D. Thay destructor
Một class có thể có nhiều constructor không?
A. Có
B. Không
C. Chỉ một
D. Tùy compiler
Lỗi quên ; sau định nghĩa class → C++ báo lỗi:
A. Link error
B. Compilation error
C. Runtime error
D. Không báo lỗi
Không khai báo destructor →
A. Compiler tự sinh
B. Báo lỗi
C. Không thể chạy
D. Không tạo object được
Gọi hàm private từ ngoài class →
A. Thành công
B. Báo lỗi truy cập
C. Chạy nhưng sai
D. Tự động public
Quên khai báo namespace std → lỗi khi dùng:
A. class
B. std::string
C. return
D. private
Truy cập object chưa khởi tạo →
A. Báo lỗi runtime
B. Báo lỗi compile
C. Chạy bình thường
D. Không vấn đề
Đặc điểm chính của class so với struct trong C++:
A. Không khác
B. struct mặc định public, class mặc định private
C. struct không có hàm
D. class không có biến
Một phương thức có thể gọi phương thức khác trong cùng class không?
A. Có
B. Không
C. Chỉ protected
D. Chỉ friend
Hàm tạo có thể được khai báo ở:
A. private, public, protected
B. Chỉ public
C. Chỉ private
D. Chỉ protected
Lợi ích của class trong C++:
A. Dễ tái sử dụng
B. Khó bảo trì
C. Không cần đóng gói
D. Giảm tốc độ
Mỗi object của class có:
A. Dữ liệu và hành vi riêng
B. Dữ liệu chung duy nhất
C. Hành vi toàn cục
D. Không có dữ liệu
