225 câu trắc nghiệm Lập trình hướng đối tượng
tracnghiem.net chia sẻ hơn 220+ câu trắc nghiệm môn Lập trình hướng đối tượng có đáp án dành cho các bạn sinh viên chuyên ngành có thêm tư liệu học tập, ôn tập chuẩn bị cho kì thi kết thúc học phần sắp diễn ra. Để việc ôn tập trở nên hiệu quả hơn, các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời lần lượt các câu hỏi cũng như so sánh đáp và lời giải chi tiết được đưa ra. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức mình đã ôn tập được nhé!
Chọn hình thức trắc nghiệm (20 câu/20 phút)
-
Câu 1:
Cho lớp Lophoc như hình trên, ý nghĩa của phương thức “ public string Malop” là:
A. Dùng để thiết lập và lấy giá trị của thuộc tính maLop(2)
B. Khai báo phương thức Malop trả về kiểu chuỗi
C. Dùng để truy cập vào thuộc tính maLop của lớp (1)
D. Cả (1) và (2)
-
Câu 2:
Tính chất kế thừa dạng Protected là:
A. Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con
B. Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con
C. Thành phần protected, public của lớp cha tương ứng trở thành thành phần protected của lớp con
D. Tất cả đều sai
-
Câu 3:
Lời gọi hàm tạo được hiểu như thế nào?
A. Gọi như hàm thành viên thông thường ( Tên đối tượng.Tên_hàm )
B. Không cần phải gọi tới hàm tạo vì ngay khi khai báo đối tượng sẽ tự gọi tới hàm tạo
C. Gọi bằng cách: Tên lớp.Tên hàm tạo()
D. Tất cả đều sai
-
Câu 4:
Bắt buộc phải xây dựng hàm tạo lớp khi:
A. Khi cần khởi gán giá trị ban đầu cho thành phần thuộc tính của lớp
B. Khi cần truyền tham số cho hàm thành viên của lớp
C. Khi cần khởi gán giá trị ban đầu cho thành phần phương thức của lớp
D. Không bắt buộc phải xây dựng hàm tạo
-
Câu 5:
Các lớp có thể kế thừa từ lớp động vật là:
A. Lớp Con chó (1)
B. Lớp Con mèo (2)
C. Lớp cây cối (3)
D. Cả (1) và (2)
-
Câu 6:
Cho đoạn chương trình như hình trên, các phương thức thao tác trên stack gồm:
A. push, pop (1)
B. isFull, isEmpty, push, pop, Stack, ~Stack
C. isFull, isEmpty (2)
D. Cả (1) và (2)
-
Câu 7:
Muốn lập trình hướng đối tượng, bạn cần phải phân tích chương trình, bài toàn thành các:
A. Hàm, thủ tục
B. Các module
C. Các đối tượng từ đó xây dựng các lớp đối tượng tương ứng
D. Các thông điệp
-
Câu 8:
Trong kế thừa có thể kế thừa tối đa:
A. Một mức
B. Hai mức
C. Ba mức
D. Vố số mức tùy theo bộ nhớ
-
Câu 9:
Cho đoạn chương trình:
class A
{
private:
int x,y;
};
Làm nhiệm vụ:
A. Khai báo A là một lớp với hai thành phần thuộc tính là x, y kiểu số nguyên
B. Khai báo A là một đối tượng với hai thành phần thuộc tính x, y kiểu integer
C. Đoạn chương trình trên bị lỗi
D. Khai báo lớp A với hai thành phần thuộc tính x,y kiểu số nguyên cho phép truy cập từ bên ngoài lớp
-
Câu 10:
Khai báo một lớp như sau:
class LopA
{
public:
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cm»b;}
};
Sau khi tạo con trỏ ở lớp *pobj của LopA thì dùng cú pháp nào sau đây để truy xuất thủ tục nhập ()
A. pobj—>nhap();
B. *pobj. nhap();
C. pobj.nhap();
D. *pobj. nhap();
-
Câu 11:
Cho khai báo sau:
A. Lớp A là bạn của lớp B
B. Lớp C là bạn của lớp A
C. Các phương thức của lớp B có quyền truy cập đến tất cả các thành viên riêng của lớp A
D. Các phương thức của lớp A có quyền truy cập đến tất cả các thành viên riêng của lớp B
-
Câu 12:
Trong khai báo dưới:
class Diem (1)
{(2)
private: int x,y;(3)
public: (4)
void Diem(int x,int y);(5)
void ~Diem();(6)
};(7)
Sai tại dòng:
A. Dòng 6 và 5
B. Dòng 3 và 5
C. Dòng 2 và 3
D. Dòng 3 và 6
-
Câu 13:
Cho đoạn chương trình như hình trên. Kết quả hiển thị của đoạn chương trình là:
A. a=10;
B. a=5;
C. a=20;
D. Chương trình có lỗi, không thể hiển thị kết quả
-
Câu 14:
Cho đoạn chương trình sau:
class A {
int x,y;
public:
void Nhap();
void Xuat();
};
class B:public A{
private: float z;
};
void main()
{
A A1;B B1;
A1=B1;
B1=A1;
getch();
}
Hãy cho biết đoạn chương trình trên lỗi tại đâu?
A. Tại câu lệnh B1=A1;
B. Tại câu lệnh A1=B1
C. Tại câu lệnh class B:public A
D. Không lỗi tại dòng nào cả?
-
Câu 15:
Trong lập trình hướng đối tượng khả năng các hàm có thể trùng tên nhau gọi là:
A. Không được phép xây dựng các hàm trùng tên nhau trong cùng một chương trình
B. Sự chồng hàm
C. Sự chồng hàm nhưng chỉ những hàm thành viên của lớp mới được phép trùng nhau
D. Sự chồng hàm nhưng chỉ các hàm thông thường mới được phép trùng nhau
-
Câu 16:
Khi khai báo các thành phần thuộc tính của lớp trong C#, đầu mỗi câu lệnh khai báo ta thường khai báo:
A. Phạm vi của thuộc tính là private hay public hay protected
B. Khai báo kiểu dữ liệu của thuộc tính
C. Từ khóa Properties đi đầu
D. Từ khóa Region đi đầu
-
Câu 17:
Cho lớp Điểm như trên, trong lớp Điểm trên thì hàm KC2D có tên gọi là:
A. Hàm bạn của lớp Điểm
B. Phương thức của lớp
C. Hàm thông thường
D. Toán tử bạn của lớp Điểm
-
Câu 18:
class A là bạn của class B, class B là bạn của class C thì:
A. class C có thể truy xuất đến các thành viên private của class A
B. class B có thể truy xuất đến các thành viên private của class C
C. class B có thể truy xuất các thành viên của class A
D. class A có thể truy xuất các thành viên private của class C
-
Câu 19:
Vào mỗi kỳ thi người ta cần lập ra danh thí sinh dự thi dựa theo danh sách sinh viên đủ điều kiện dự thi của mỗi môn học, để thuận tiện xử lý người ta xây dựng lớp Thí sinh dựa trên lớp sinh viên với điều kiện là đủ điều kiện dự thi các môn học. Người ta phân tích thấy lớp thí sinh là trường hợp đặc biệt của lớp Sinh viên vì vậy khi xây dựng người ta xây dựng:
A. Lớp Thí sinh kế thừa lớp Sinh viên
B. Lớp Sinh viên kế thừa lớp Thí sinh
C. Lớp Thí sinh là lớp bao của lớp Sinh viên
D. Lớp Sinh viên là lớp bao của lớp Thí sinh
-
Câu 20:
Khai báo phương thức ảo:
A. Giống khai báo phương thức thường theo sau là từ khoá virtual
B. Giống khai báo phương thức thường nhưng đứng đầu là từ khoá virtual
C. Giống khai báo phương thức thường nhưng phải được xây dựng bên trong lớp
D. Giống khai báo phương thức thường nhưng không cần phải xây dựng nội dung