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)
Chọn phần
-
Câu 1:
Hàm huỷ trong ngôn ngữ C++ có cú pháp:
A. ~Tên_lớp{ //nội dung}
B. Destructor Tên_hàm {//nôi dung}
C. Tên_lớp{//nội dung}
D. Done {//nội dung}
-
Câu 2:
Cho đoạn chương trình sau:
class A{
private:
int x,y;
public:
A(int x=0,int y=0);
void xuat();
~A();
};
A(int x=0,int y=0); được gọi là:
A. Hàm tạo
B. Hàm huỷ
C. Hàm bạn
D. Hàm thông thường
-
Câu 3:
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 4:
Cho đoạn chương trình sau:
class Diem {
float x,y;
public:
…
};
class Doanthang{
Diem A,B;
public:
…
};
Lớp Doanthang được gọi là:
A. Lớp bao của lớp Diem
B. Lớp cha của lớp Diem
C. Lớp con của lớp Diem
D. Lớp bạn của lớp Diem
-
Câu 5:
Lớp bao là lớp:
A. Kế thừa lớp khác
B. Dẫn xuất ra lớp khác
C. Lớp bạn của lớp khác
D. Có thành phần thuộc tính là đối tượng của lớp khác
-
Câu 6:
Hàm tạo có đặc điểm gì?
A. Hàm tạo là hàm thành viên của lớp dùng để khởi tạo bộ nhớ và giá trị ban đầu cho các thuộc tính trong lớp
B. Hàm tạo là hàm nằm bên ngoài lớp dùng để khởi tạo bộ nhớ cho đối tượng
C. Hàm tạo là hàm dùng để khởi tạo bộ nhớ cho đối tượng của lớp
D. Hàm tạo dùng để huỷ bộ nhớ cho đối tượng
-
Câu 7:
Cho đoạn chương trình sau:
class Sinh_vien
{
private:
int Masv;
char Hoten[40];
char Ngaysinh;
int gioitinh;
….
};
Để khai báo một mảng gồm 10 sinh viên ta có thể sử dụng câu lệnh khai báo:
A. Sinh_vien ds[10];
B. Sinh_vien ds(10);
C. Sinh_vien *ds[10];
D. Không thể khai báo mảng các đối tượng
-
Câu 8:
Trong khai báo lớp Đa thức(DT) dưới đây bằng C++:
class DT {
private:
int m;//bac cua da thuc
float *a;//Cac he so cua da thuc
public:
};
Bắt buôc phải xây dựng:
A. Hàm tạo
B. Hàm hủy
C. Hàm tạo sao chép
D. Tất cả các hàm trên
-
Câu 9:
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 10:
Ta khai báo lớp cơ sở ảo khi nào:
A. Khi có sự trùng lặp lớp kế thừa trong đa kế thừa và kế thừa nhiều mức
B. Khi lớp có phương thức ảo thì bắt buộc phải khai báo là lớp cơ sở ảo
C. Khi có sự trùng tên giữa các phương thức của các lớp khác nhau
D. Tất cả đều sai
-
Câu 11:
Một người cần xây dựng lớp Thời gian (Timer) trong máy tính cần hiển thị thông tin như sau: giờ:phút:giây. Vậy các thuộc tính cần xây dựng cho lớp Timer là:
A. Giờ
B. Phút
C. Giây
D. Giờ, Phút, Giây
-
Câu 12:
Trong kế thừa, có thể:
A. Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public và không kế thừa hàm tạo, hàm huỷ
B. Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public bao gồm hàm tạo, hàm huỷ
C. Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public, private bao gồm hàm tạo, hàm huỷ
D. Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public không kế thừa hàm tạo, hàm huỷ
-
Câu 13:
Các hàm tạo có thể có là:
A. Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép; Hàm tạo bộ nhớ
B. Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép
C. Hàm tạo không đối; Hàm tạo có đối
D. Hàm tạo không đối; Hàm tạo sao chép
-
Câu 14:
Cho khai báo sau:
int trituyetdoi(int a); //tri tuyệt đối số nguyên
long trituyetdoi (long a); //tính trị tuyệt đối số nguyên dài
double trituyetdoi(double a); //tính trị tuyệt đối số thực dài
A. Tính chất chồng hàm
B. Tính chất nạp chồng của dữ liệu
C. Tính chất đa hình
D. Tính chất trừu tượng hóa
-
Câu 15:
Lời gọi phương thức ảo là:
A. Gọi như phương thức thông thường
B. Gọi kèm từ khoá virtual
C. Không thể gọi phương thức ảo
D. Phải gọi thông qua con trỏ đối tượng
-
Câu 16:
Hàm hủy có mấy loại:
A. Một loại
B. Hai loại
C. Ba loại
D. Bốn loại
-
Câu 17:
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 18:
Trong khai báo sau:
class Diem { (1)
private:
int x,y;(2)
public:(3)
…..
};(4)
class Hinhtron: public Diem (5)
{
private: r:real;(6)
};
Câu lệnh khai báo tại dòng số 5 cho biết:
A. Khai báo lớp Hinhtron kế thừa public lớp Diem
B. Khai báo lớp Diem kế thừa lớp Hinhtron
C. Khai báo lớp Hinhtron là bạn lớp Diem
D. Khai báo lớp Hinhtron là lớp bao của lớp Diem
-
Câu 19:
Cho đoạn chương trình sau:
class A{
private:
int x,y;
void Nhap();
};
Cho lớp B kế thừa public lớp A, để lớp B có thể truy cập đến phương thức Nhap ta phải:
A. Không cần phải thay đổi gì
B. Đưa phương thức Nhap của lớp A vào phạm vi public hoặc protecte
C. Không thể truy cập được dù có thay đổi gì
D. Tất cả đều sai
-
Câu 20:
Cho đoạn chương trình sau:
class A{
private:
int x,y;
protected:
void Nhap();
};
Lớp B kế thừa lớp A, để phương thức Nhap của lớp A trở thành thành phần private của lớp B ta chọn loại kế thừa là:
A. Private
B. Public
C. Protected
D. Private hoặc Protected