wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

LTHDT_TN

Total questions: 154

Worksheet time: 1hrs 17mins

Name
Class
Date
1.

Lập trình hướng đối tượng là:

a)

Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các đối tượng, nó không cho phép dữ liệu chuyển động một cách tự do trong hệ thống; dữ liệu được gắn với các hàm thành phần.

b)

Lập trình hướng đối tượng là phương pháp lập trình cơ bản gần với mã máy.

c)

Lập trình hướng đối tượng là phương pháp mới của lập trình máy tính, chia chương trình thành các hàm; quan tâm đến chức năng của hệ thống

d)

Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các chức năng, cấu trúc chương trình được xây dựng theo cách tiếp cận hướng chức năng.

2.

Đặc điểm cơ bản của lập trình hướng đối tượng thể hiện ở:

a)

Tính đóng gói, tính kế thừa, tính đa hình, tính trừu tượng.

b)

Tính đóng gói, tính kế thừa, tính đa hình, tính đặc biệt hóa.

c)

Tính chia nhỏ, tính kế thừa

d)

Tính đóng gói, tính trừu tượng.

3.

OOP là viết tắt của:

a)

Object Oriented Programming

b)

Object Open Programming.

c)

Open Object Programming

d)

Object Oriented Proccessing

4.

Hãy chọn câu đúng:

a)

Ngôn ngữ lập trình pascal, C là ngôn ngữ lập trình cấu trúc.

b)

Ngôn ngữ lập trình pascal, C, C++ là ngôn ngữ lập trình cấu trúc.

c)

Ngôn ngữ lập trình C, C++ là ngôn ngữ lập trình hướng đối tượng

d)

Ngôn ngữ lập trình C++, Java là ngôn ngữ lập trình cấu trúc.

5.

Chọn câu sai:

a)

Ngôn ngữ Pascal  là ngôn ngữ lập trình hướng đối tượng.

b)

Ngôn ngữ C++, Java là ngôn ngữ lập trình hướng đối tượng.

c)

C, Pascal là ngôn ngữ lập trình cấu trúc.

d)

C++ là ngôn ngữ lập trình cấu trúc.

6.

Tính bao gói là:

a)

Cơ chế ràng buộc dữ liệu và thao tác trên dữ liệu đó thành một thể thống nhất, tránh được các tác động bất ngờ từ bên ngoài. Thể thống nhất này gọi là đối tượng.

b)

Cơ chế chia chương trình thành các hàm và thủ tục thực hiện các chức năng riêng rẽ.

c)

Cơ chế không cho phép các thành phần khác truy cập đến bên trong nó.

d)

Cơ chế cho thấy một hàm có thể có nhiều thể hiện khác nhau ở từng thời điểm.

7.

Tính kế thừa là:

a)

Khả năng xây dựng các lớp mới từ các lớp cũ, lớp mới được gọi là lớp dẫn xuất, lớp cũ được gọi là lớp cơ sở.

b)

Khả năng sử dụng lại các hàm đã xây dựng.

c)

Khả năng sử dụng lại các kiểu dữ liệu đã xây dựng.

d)

Tất cả đều đúng.

8.

Sự đóng gói là:

a)

Encapsulation

b)

Inheritance.

c)

Polymorphism

.

d)

Abstraction.

9.

Sự trừu tượng là:

a)

Encapsulation

b)

Inheritance.

c)

Polymorphism

d)

Abstraction

10.

Sự thừa kế là:

a)

Encapsulation

b)

Inheritance.

c)

Polymorphism

d)

Abstraction

11.

Tính đa hình là:

a)

Encapsulation

b)

Inheritance.

c)

Polymorphism

d)

Abstraction

12.

Trong kế thừa. Lớp mới có thuật ngữ tiếng Anh là:

a)

Derived Class.

b)

Base Class.

c)

Inheritance Class.

d)

Object Class.

13.

Trong kế thừa. Lớp cha có thuật ngữ tiếng Anh là:

a)

Derived Class.

b)

Base Class.

c)

Inheritance Class.

d)

Object Class.

14.

Tính đa hình là:

a)

Khả năng một thông điệp có thể thay đổi cách thể hiện của nó theo lớp cụ thể của đối tượng được nhận thông điệp.

b)

Khả năng một thông điệp có thể được truyền lại cho lớp con của nó.

c)

Khả năng một hàm, thủ tục có thể được kế thừa lại.

d)

Khả năng một hàm, thủ tục được sử dụng lại.

15.

Lớp đối tượng là:

a)

Một thiết kế hay mẫu cho các đối tượng cùng kiểu.

b)

Một thể hiện cụ thể cho các đối tượng.

c)

Tập các phần tử cùng loại.

d)

Tập các giá trị cùng loại.

16.

Sau khi khai báo và xây dựng thành công lớp đối tượng Sinh viên. Khi đó lớp đối tượng Sinh viên còn được gọi là:

a)

Đối tượng.

b)

Kiểu dữ liệu trừu tượng.

c)

Kiểu dữ liệu cơ bản.

d)

Lớp đối tượng cơ sở.

17.

Trong các phương án sau, phương án nào mô tả đối tượng:

a)

Tất cả đều đúng.

b)

Quả cam.

c)

Xe đạp.

d)

Máy tính.

e)

Đồng hồ.

18.

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

19.

Trong phương án sau, phương án mô tả tính đa hình là:

a)

Các lớp Điểm, Hình tròn, Hình vuông, Hình chữ nhật… đều có phương thức Vẽ.

b)

Lớp hình tròn kế thừa lớp điểm.

c)

Lớp hình vuông kế thừa lớp hình chữ nhật.

d)

Lớp Điểm, Hình tròn cùng có hàm tạo, hàm hủy.

20.

Phương pháp lập trình tuần tự là:

a)

Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.

b)

Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy.

c)

Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.

d)

Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng..

21.

Phương pháp lập trình cấu trúc là:

a)

Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.

b)

Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy.

c)

Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.

d)

Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng..

22.

Khi khai báo và xây dựng thành công lớp đối tượng, để truy cập vào thành phần của lớp ta phải:

a)

Truy cập thông qua tên lớp hay tên đối tượng của lớp.

b)

Không thể truy cập được.

c)

Chỉ có thể truy cập thông qua tên lớp.

d)

Chỉ có thể truy cập thông qua tên đối tượng của lớp.

23.

Phương pháp lập trình module là:

a)

Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.

b)

Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy

c)

Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.

d)

Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng..

24.

Trừu tượng hóa là:

a)

Phương pháp chỉ quan tâm đến những chi tiết cần thiết (chi tiết chính) và bỏ qua những chi tiết không cần thiết

b)

Phương pháp quan tâm đến mọi chi tiết của đối tượng

c)

Phương pháp thay thế những chi tiết chính bằng những chi tiết tương tự.

d)

Không có phương án chính xác

25.

Đối tượng là:

a)

Một thực thể cụ thể trong thế giới thực

b)

Một mẫu hay một thiết kế cho mọi lớp đối tượng.

c)

Một vật chất trong thế giới thực.

d)

Một lớp vật chất trong thế giới thực.

26.

Khi khai báo và xây dựng một lớp ta cần phải xác định rõ thành phần:

a)

Thuộc tính (dữ liệu) và phương thức (hành vi) của lớp.

b)

Dữ liệu và đối tượng của lớp.

c)

Khái niệm và đối tượng của lớp.

d)

Vô số thành phần.

27.

Đoạn chương trình sau khi biên dịch pháp sinh ra lỗi không khai báo biến x tại dòng cin<<x;.

class A

{        private:

          int x;

          public:

          void nhap();

};

void  nhap();

{

cout<< \n Nhap x; cin>>x;

}

void main() {}

Cần sửa là:

a)

Sửa dòng void nhap(); thứ hai thành void  A::nhap();

b)

Khai báo thêm biến x trong hàm nhap;

c)

Chương trình bị lỗi không chạy được.

d)

Tất cả đều đúng.

28.

Chọn câu đúng:

a)

Tại chương trình chính chỉ có thể truy cập đến thành phần public của lớp.

b)

Tại chương trình chính chỉ có thể truy cập đến thành phần private của lớp.

c)

Tại chương trình chính có thể truy cập đến bất kì thành phần nào của lớp.

d)

Tại chương trình chính không  thể truy cập đến thành phần nào của lớp.

29.

Cho đoạn chương trình sau:

class A {

          private:

int x;

public:

int y;

};

 void main() {

 A obj1; obj1.x=10;

obj2.y=8;

}

Đoạn chương trình bị lỗi tại:

a)

Lỗi tại dòng obj1.x=10;

b)

Lỗi tại dòng obj1.y=8;

c)

Lỗi tại dòng A obj1;

d)

Lỗi tại dòng int x;

30.

Cho đoạn chương trình sau:

class A {

          private:

int x;

public:

int y;

};

 void main() {

 A obj1;

obj1.x=10;

obj2.y=8;

}

Đoạn chương trình bị lỗi tại obj1.x=10. Nguyên nhân của lỗi này là:

a)

Không thể truy cập vào thành phần private của lớp.

b)

Chưa khai báo x.

c)

Không xác định được giá trị x.

d)

Phải gọi thông quan tên lớp không được gọi thông qua tên đối tượng.

31.

Khi khai báo lớp trong các ngôn ngữ lập trình hướng đối tượng phải sử dụng từ khóa:

a)

Object.

b)

Record.

c)

File.

d)

class.

32.

Thành phần private của lớp là thành phần:

a)

Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.

b)

Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.

c)

Cho phép truy xuất từ bên ngoài lớp.

d)

Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa.

33.

Thành phần protected của lớp là thành phần:

a)

Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.

b)

Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.

c)

Cho phép truy xuất từ bên ngoài lớp.

d)

Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa.

34.

Thành phần public của lớp là thành phần:

a)

Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.

b)

Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.

c)

Cho phép truy xuất từ bên ngoài lớp.

d)

Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa.

35.

Hàm thành viên (phương thức) của lớp:

a)

Tất cả các hàm(hàm trả về giá trị và không trả về giá trị) được khai báo bên trong lớp, xây dựng bên trong hay bên ngoài lớp thể hiện các hành vi của đối tượng.

b)

Tất cả các hàm(hàm và thủ tục) được sử dụng trong lớp.

c)

Tất cả những hàm (hàm và thủ tục) trong chương trình có lớp.

d)

Tất cả những hàm(hàm và thủ tục) được khai báo và xây dựng bên trong lớp mô tả các dữ liệu của đối tượng.

36.

Trong một chương trình có thể xây dựng tối đa bao nhiêu lớp

a)

Vô số tuỳ theo bộ nhớ.

b)

1 lớp duy nhất

c)

10 lớp

d)

3 lớp

37.

Hàm thành viên của lớp khác hàm thông thường là:

a)

Hàm thành viên của lớp phải được khai báo bên trong lớp và được gọi nhờ tên đối tượng hay tên lớp còn hàm thông thường thì không.

b)

Hàm thành viên của lớp và hàm thông thường không có gì khác nhau.

c)

Hàm thành viên của lớp thì phải được khai báo và xây dựng bên trong lớp còn hàm thông thường thì không.

d)

Hàm thành viên của lớp thì phải khai báo bên trong lớp với từ khóa friend và xây dựng bên ngoài lớp.

38.

Thuộc tính của lớp là:

a)

Là dữ liệu trình bày các đặc điểm của một đối tượng.

b)

Liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng.

c)

Là những chức năng của đối tượng.

d)

Tất cả đều sai.

39.

Phương thức là:

a)

Là dữ liệu trình bày các đặc điểm của một đối tượng.

b)

Liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng.

c)

Là những chức năng của đối tượng.

d)

Tất cả đều đúng.

40.

Cho lớp người hãy xác định đâu là các thuộc tính của lớp người:

a)

Chân, Tay, Mắt, Mũi, Tên, Ngày sinh.

b)

Ăn, Uống, Chân, Tay.

c)

Hát, học, vui, cười.

d)

Tất cả đều sai.

41.

Người ta cần quản lý thông tin sinh viên trên máy tính, Hãy cho biết các thuộc tính của lớp sinh viên là:

a)

Họ và tên, ngày sinh, giới tính, địa chỉ, số cmt, quê quán

b)

Họ và tên, ngày sinh, giới tính, địa chỉ, số cmt, quê quán, nhóm máu, màu mắt, màu da, cân nặng.

c)

Họ và tên, ngày sinh, giới tính, địa chỉ, số cmt, quê quán, lớp học, khóa học, khoa quản lý.

42.

Cho lớp Điểm trong hệ tọa độ xOy. Các phương thức có thể có của lớp Điểm là:

a)

Dịch chuyển, Thiết lập toạ độ.

b)

Tung độ, hoành độ.

c)

Tung độ, hoành độ, cao độ.

d)

Tung độ, cao độ.

43.

Lập trình hướng đối tượng:

a)

Tất cả đều đúng.

b)

Nhấn mạnh trên dữ liệu hơn là thủ tục.

c)

Các chương trình được chia thành các đối tượng.

d)

Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài.

e)

Dữ liệu hay các hàm mới có thể được thêm vào khi cần.

44.

Lời gọi tới hàm thành viên của lớp là:

a)

Tên_đối_tượng.Tên_hàm_thành_viên.

b)

Tên_lớp.Tên_hàm_thành_viên.

c)

Tên_lớp:Tên_hàm_thành_viên.

d)

Không có phương án đúng.

45.

Khi khai báo thành phần thuộc tính và phương thức của lớp, nếu không khai báo từ khóa private, public hay protected thì mặt định sẽ là:

a)

private

b)

public

c)

protected

d)

Chương trình sẽ lỗi và yêu cầu phải khai báo một trong 3 từ khóa.

46.

Đoạn chương trình sau:

class A

{

private:

int x;

public:

void nhap();

};

void main()

{

A obj1;

obj1.nhap();

}

Khi biên dịch báo lỗi do:

a)

Không định nghĩa nội dung của phương thức nhap.

b)

Không có lỗi.

c)

Không đươc phép truy cập đến phương thức nhap.

d)

Không khai báo biến x.

47.

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.

48.

Phân tích mối quan hệ giữa lớp Điểm và lớp Hình tròn ta có thể xác định:

a)

Lớp Hình tròn kế thừa lớp Điểm.

b)

Lớp Điểm kế thừa lớp Hình tròn.

c)

Không có quan hệ gì.

d)

Lớp Hình tròn dẫn xuất ra lớp Điểm.

49.

Hàm tạo trong ngôn ngữ C++:

a)

Có tên trùng với tên lớp.

b)

Có đối hoặc không có đối

c)

Tự động được gọi tới khi khai báo đối tượng của lớp.

d)

Xây dựng bên trong hoặc bên ngoài lớp

e)

Tất cả đều đúng

50.

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}

51.

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.

52.

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(); đượ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.

e)

Tất cả đều sai.

53.

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.

54.

Cho khai báo sau:  

class Diem {

          private:

          int x,y;

          public:

          void Nhap();

          void Xuat();

};

x,y được gọi là:

a)

Thuộc tính của lớp Diem

b)

Phương thức của lớp Diem.

c)

Các hàm thành viên của lớp Diem

d)

Thành viên tĩnh của lớp Diem.

55.

Cho khai báo sau:  

class Diem {

          private:

          int x,y;

          public:

          void Nhap();

          void Xuat();

};

x,y được gọi là:

a)

Thuộc tính của lớp Diem

b)

Phương thức của lớp Diem.

c)

Các hàm thành viên của lớp Diem

d)

Thành viên tĩnh của lớp Diem.

56.

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.

57.

Lớp bao là lớp:

a)

Có thành phần thuộc tính là đối tược của lớp khác.

b)

Kế thừa lớp khác.

c)

Dẫn xuất ra lớp khác.

d)

Lớp bạn của lớp khác.

58.

Hàm tạo là:

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.

59.

Hàm huỷ là:

a)

Hàm huỷ dùng để huỷ (giải phóng) bộ nhớ cho các thành phần thuộc tính bên trong lớp.

b)

Hàm huỷ là hàm dùng để khởi tạo giá trị ban đầu cho các thành phần thuộc tính bên trong lớp.

c)

Hàm huỷ là hàm dùng để giải phóng toàn bộ các biến của chương trình.

d)

Tất cả đều đúng.

60.

Hàm tạo sao chép là:

a)

Tất cả đều đúng.

b)

Là hàm thành viên của lớp.

c)

Dùng để tạo một đối tượng theo đối tượng đã có.

d)

Nếu không xây dựng hàm tạo sao chép chương trình sẽ tự sinh hàm tạo sao chép.

61.

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)

Không thể khai báo mảng các đối tượng

d)

Sinh_vien *ds[10];

62.

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

63.

Lời gọi hàm tạ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.

64.

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.

65.

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ờ, Phút, Giây.

b)

Giờ

c)

Phút

d)

Giây

66.

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ỷ.

67.

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.

68.

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

Khai báo trên thể hiện:

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

69.

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.

70.

Hàm hủy có:

a)

Một loại.

b)

Hai loại.

c)

Ba loại.

d)

loại.

71.

Hãy chọn phát biểu sai:

a)

Có hai loại hàm huỷ có đối và không đối.

b)

Có duy nhất một loại hàm huỷ.

c)

Có hai loại hàm dựng có đối và  không đối.

d)

Hàm huỷ và hàm dựng đều không có tính chất kế thừa.

72.

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

73.

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.

74.

Cho đoạn chương trình sau:

class A {

          private:

          int x,y;

};

Cho lớp B kế thừa lớp A. Để truy cập vào thành phần x,y của lớp A ta chọn kiểu kế thừa:

a)

Không thể chọn loại kết thừa nào vì thành phần x,y thuộc pham vi private không tham gia trong kế thừa.

b)

Chọn loại kế thừa private.

c)

Chọn loại kế thừa protected.

d)

Chọn loại kế thừa public.

75.

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)

Đưa phương thức Nhap của lớp A vào phạm vi public hoặc protected.

b)

Không cần phải thay đổi gì.

c)

Không thể truy cập được dù có thay đổi gì.

d)

Tất cả đều sai.

76.

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.

77.

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 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.

78.

Các dạng kế thừa là:

a)

Private, Public, Protected

b)

Private, Public

c)

Private, Protected

d)

Protected, Public

79.

Khi nạp chồng các hàm thì điều kiện khác nhau giữa các hàm sẽ là:

a)

Tên hàm phải khác nhau.

b)

Kiểu dữ liệu trả về của hàm (1)

c)

Kiểu dữ liệu của tham số truyền vào của hàm (2)

d)

Số lượng tham số truyền vào các hàm (3)

e)

Hoặc (1) hoặc (2) hoặc (3)

80.

Trong một lớp có thể:  

a)

Nhiều hàm dựng (tạo), các hàm dựng khác nhau về tham đối.

b)

Một hàm dựng.

c)

Hai hàm dựng.

d)

Tất cả đều sai.

81.

Trong một lớp có thể:

a)

Duy nhất một hàm hủy.

b)

Chứa tối đa hai hàm hủy.

c)

Có thể chứa được ba hàm hủy.     

d)

Có thể chứa vô số hàm hủy tùy theo bộ nhớ.

82.

Tính chất của kế thừa dạng Private là:

a)

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.

b)

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.

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.

83.

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 protected 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 public 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 private của lớp con.

d)

Tất cả đều sai.

84.

Tính chất kế thừa dạng Public là:

a)

Thành phần protected của lớp cha tương ứng trở thành thành phần protected của lớp con và thành phần public của lớp cha tương ứng trở thành 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 public 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 private của lớp con.

d)

Tất cả đều sai.

85.

Trong kế thừa có thể kế thừa tối đa:

a)

Vố số mức tùy theo bộ nhớ.

b)

Một mức.

c)

Hai mức.

d)

Ba mức.

86.

Trong đa kế thừa có thể kế thừa tối đa:

a)

Vố số lớp tùy theo bộ nhớ.

b)

Hai lớp.

c)

Một lớp.

d)

Ba lớp.

87.

Cho lớp A và lớp B, lớp A kế thừa lớp B  trong hai lớp đều có phương thức Xuat. Nếu khai báo đối tượng obj thuộc lớp A khi gọi đến phương thức Xuat(obj.Xuat( ))  là gọi đến phương thức của lớp nào.

a)

Lớp A.

b)

Lớp B.

c)

Lỗi không thể xác định được.

d)

Gọi đến cả hai phương thức.

88.

Cho lớp A, B, C trong đó lớp C kế thừa lớp A,B. Trong lớp A, B đều có phương thức Xuat, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì phương thức Xuat của lớp nào sẽ được gọi?

a)

Lớp A.

b)

Lớp B.

c)

Lỗi không thể xác định được.

d)

Gọi đến cả hai phương thức.

89.

Trong kế thừa nhiều mức có cho phép:

a)

Cho phép trùng tên cả phương thức lẫn thuộc tính.

b)

Không cho phép trùng tên phương thức và thuộc tính.

c)

Cho phép trùng tên phương thức  còn không cho phép trùng tên thuộc tính.

d)

Cho phép trùng tên thuộc tính còn không cho phép trùng tên phương thức.

90.

Cho đoạn chương trình sau:

class  A{

          …

          public:

          void Xuat();

};

class B:public A {

….

          public:

          void Xuat();

};

void main() {

B O;

Nếu gọi O.Xuat(); thì sẽ.

a)

Gọi đến phương thức Xuat thuộc lớp B.

b)

Lỗi.

c)

Gọi đến phương thức Xuat thuộc lớp A.

d)

Gọi đến cả hai phương thức.

91.

Lớp cơ sở trừu tượng là:

a)

Là lớp làm cơ sở cho các lớp khác và không được dẫn xuất từ bất kì lớp nào.

b)

Là lớp cơ sở cho lớp khác.

c)

Là lớp không làm cơ sở cho bất kỳ lớp nào mà chỉ kế thừa các lớp khác.

d)

Là lớp được xây dựng đầu tiên trong chương trình.

92.

Thành viên tĩnh của lớp là:

a)

Là thành viên của lớp được khai báo với từ khóa static ở trước.

b)

Là thành viên dùng chung cho tất cả các đối tượng của lớp, không của riêng đối tượng nào?

c)

Được cấp phát bộ nhớ ngay cả khi lớp chưa có đối tượng cụ thể nào.

d)

Tất cả đều đúng.

93.

Hàm bạn là:

a)

Là hàm bạn của lớp được phép truy cập đến thành phần private của lớp.

b)

Khai báo với từ khóa vritual ở đầu.

c)

Được sử dụng như hàm thành viên của lớp.

d)

Tất cả đều đúng.

94.

Khi xây dựng nạp chồng các hàm thì điều kiện khác nhau giữa các hàm là: kiểu dữ liệu trả về của hàm hoặc kiểu dữ liệu tham số truyền vào của hàm hoặc số lượng tham số truyền vào của hàm là khác nhau. Điều kiện này chỉ áp dụng khi:

a)

Các hàm cùng được xây dựng trong 1 chương trình (1).

b)

Các hàm này cùng được xây dựng trong một lớp (2).

c)

Các hàm này được xây dựng trong các lớp kế thừa.

d)

Các hàm này được xây dựng trong các lớp khác nhau.

e)

(1) hoặc (2)

95.

Khai báo các phương thức trong lớp cơ sở trừu tượng phải:

a)

Là phương thức ảo thuần túy

b)

Với c++ có cú pháp : virtual void[kiểu_dữ liệu] tênphương_thức(tham đối)=0;

c)

Các phương thức không được định nghĩa nội dung.

d)

Tất cả đều đúng.

96.

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.

97.

Cho biết cách khai báo phương thức ảo trong C++ nào sau đây là đúng:

a)

void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]) Virual;

b)

Virual  void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]);

c)

void[kiểu_dữ_liệu]  Virual  Tên_phương_thức ([các tham đối]);

d)

void[kiểu_dữ_liệu]  Tên_phương_thức (Virual  [các tham đối]);

98.

Cho đoạn chương trình sau:

class A {

          private:

          int x,y;

          public:

          void Xuat(); virtual;

};

Hãy nhận định phát biểu đúng:

a)

Xuat là phương thức ảo.

b)

Lỗi tại dòng void Xuat(); virtual;

c)

Xuat là một hàm tạo.

d)

Xuat là một hàm huỷ.

99.

Một lớp có thể có tối đa:

a)

Vô số phương thức ảo.

b)

Một phương thức ảo.

c)

Hai phương thức ảo.

d)

Không xác định được.

100.

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ả?

101.

Lập trình hướng đối tượng:

a)

Tất cả đều đúng.

b)

Nhấn mạnh trên dữ liệu hơn là thủ tục.

c)

Các chương trình được chia thành các đối tượng.

d)

Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài.

e)

Dữ liệu hay các hàm mới có thể được thêm vào khi cần.

102.

Cho biết các ví dụ sau ví dụ chứng tỏ tính kế thừa:

a)

Tất cả đều đúng.

b)

Xe đạp và Xe đạp đua.

c)

Hình bình hành và hình chữ nhật

d)

Điểm và Hình tròn.

e)

Giáo viên và Giáo viên giỏi

103.

Lớp Bạn của một lớp là:

a)

Là lớp có thể truy cập đến thành phần private, protected và public của lớp mà nó làm bạn.

b)

Là lớp có thể truy cập đến thành phần protected và public của lớp mà nó làm bạn.

c)

Là lớp có thể truy cập đền thành phần public của lớp mà nó làm bạn.

d)

Tất cả đều sai.

104.

Cho đoạn chương trình sau

class A;

class B;

class A{

 friend class B;

...

};

class B {

};

Dòng lệnh friend class B; có nghĩa là:

a)

Khai báo lớp B là bạn lớp A.

b)

Khai báo lớp A là bạn lớp B

c)

Khai báo lớp B là bạn lớp A và ngược lại.

d)

Tất cả đều sai.

105.

Cách khai báo kế thừa trong java sử dụng từ khóa:

a)

extends

b)

inheritance

c)

Sử dụng dấu : giống c++

d)

Khai báo giống c#

106.

Cho đoạn chương trình sau:

class  Trai_cay

{

          private:

          char mauvo[5];

          char mauhat[3];

          char hinhdang[30];

          public:

          void Hienthi();

};

Cần xây dựng lớp Trai_dua_hau. Quan hệ giữa lớp Trai_cay và lớp Trai_dua_hau là:

a)

Trai_cay là lớp cha của lớp Trai_dua_hau.

b)

Trai_dua_hau là lớp cha của lớp Trai_cay.

c)

Trai_cay và Trai_dua_hau là lớp bạn

d)

Trai_dua_hau là lớp bao của lớp Trai_cay.

107.

Cho đoạn chương trình sau:

class  Trai_cay

{

          private:

          char mauvo[5];

          char mauhat[3];

          char hinhdang[30];

          public:

          void Hienthi() const=0;

};

Lớp Trai_cay với khai báo bằng C++ như trên được gọi là lớp:

a)

Lớp cơ sở trừu tượng.

b)

Lớp cơ sở ảo.

c)

Lớp bao.

d)

Lớp dẫn xuất ảo.

108.

Cho lớp tam giác tạo bởi ba điểm A, B, C. Quan hệ giữa lớp tam giác và lớp điểm là:

a)

Tam giác là lớp bao của lớp điểm.

b)

Tam giác là lớp con của lớp điểm.

c)

Tam giác là lớp cha của lớp điểm.

d)

Tam giác là lớp bạn của lớp điểm.

109.

Cho lớp đường thẳng tạo bởi 2 điểm A, B. Quan hệ giữa lớp đường thẳng và lớp điểm là:

a)

Đường thẳng là lớp bao của lớp điểm.

b)

Đường thẳng là lớp con của lớp điểm.

c)

Đường thẳng là lớp cha của lớp điểm.

d)

Đường thẳng là lớp bạn của lớp điểm.

110.

Cần xây dựng lớp đường thẳng y=ax+b.  Thuộc tính của lớp đường thẳng này được xác định là:

a)

Các hệ số  a, b.

b)

Các hệ số x,y.

c)

Các hệ số a, b, x, y.

d)

Các hệ số a, x, b.

111.

Xây dựng lớp hình chữ nhật tạo bởi hai cạnh a, b. Để khai báo hàm tạo với tham số mặc định ta khai báo:

a)

Hinhchunhat(float a=1, float b=1);

b)

Hinhchunhat(float a, float b);

c)

Hinhchunhat();

d)

Hinhchunhat(const Hinhchunhat &H);

112.

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à:

a)

ht, dc, cmt

b)

Không xác định

c)

ht, cmt

d)

Congdan, ht, cmt, dc

113.

Một người nông dân thuộc quốc tịch Mỹ cả đời làm ra được khối tài sản tương ứng 10 triệu đô la. Để sinh tồn và làm việc ông tiêu tốn một khoản tiền tương ứng là 3 triệu đô; số tiền cũng như đất đai ông để lại cho con cháu là 5 triệu đô; 2 triệu đô còn lại là số mà ông đã và dự định làm từ thiện chi phí không mục đích với bạn bè. Như vậy ta có thể coi:

a)

Thông tin 3 triệu đô thuộc phạm vi private

b)

Thông tin 5 triệu đô thuộc phạm vi protected

c)

Thông tin 2 triệu đô thuộc phạm vi public

d)

Tất cả đều đúng

114.

Để quản lý các phương tiên giao thông đường bộ người ta xây dựng hệ thống các lớp đối tượng gồm: lớp xe đạp, lớp xe máy, lớp ô tô con, lớp xe tải. Sau quá trình phân tích nhận thấy rằng các lớp đối tượng trên cùng có các đặc điểm như sau: Tải_trọng, loại_động_cơ, Biển_số và đều di chuyển từ điểm a đến điểm b. Người ta xây dựng lớp PT_Giao_Thông làm:

a)

Lớp dẫn xuất cho các lớp đối tượng trên.

b)

Lớp cơ sở cho các lớp đối tượng trên

c)

Lớp bao của các lớp đối tượng trên.

d)

Lớp thành viên của các lớp đối tượng trên.

115.

Để quản lý các phương tiên giao thông đường bộ người ta xây dựng hệ thống các lớp đối tượng gồm: lớp xe đạp, lớp xe máy, lớp ô tô con, lớp xe tải. Sau quá trình phân tích nhận thấy rằng các lớp đối tượng trên cùng có các đặc điểm như sau: Tải_trọng, loại_động_cơ, Biển_số và đều di chuyển từ điểm a đến điểm b. Người ta xây dựng lớp PT_Giao_Thông làm lớp cơ sở cho các lớp đối tượng trên và lớp này gồm các thuộc tính là:

a)

Tải_trọng, Loại_động_cơ, Biển_số, Di_chuyển.

b)

Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số.

c)

Tải_trọng, Loại_động_cơ, Di_chuyển.

d)

Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số, Di_chuyển

e)

Tải_trọng, Loai_động_cơ, Biển_số.

116.

Để quản lý các phương tiên giao thông đường bộ người ta xây dựng hệ thống các lớp đối tượng gồm: lớp xe đạp, lớp xe máy, lớp ô tô con, lớp xe tải. Sau quá trình phân tích nhận thấy rằng các lớp đối tượng trên cùng có các đặc điểm như sau: Tải_trọng, loại_động_cơ, Biển_số và đều di chuyển từ điểm a đến điểm b. Người ta xây dựng lớp PT_Giao_Thông làm lớp cơ sở cho các lớp đối tượng trên và lớp này gồm các phương thức là:

a)

Di_chuyển.

b)

Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số.

c)

Tải_trọng, Loại_động_cơ, Di_chuyển.

d)

Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số, Di_chuyển

e)

Tải_trọng, Loai_động_cơ, Biển_số.

117.

Các trường hợp trùng tên trong kế thừa là:

a)

Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha; Trùng tên giữa các lớp con.

b)

Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha; Kế thừa lớp cha quá nhiều lần.

c)

Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha;.

d)

Trùng tên giữa phương thức lớp cha và phương thức lớp con;; Trùng tên giữa các lớp con.

118.

Người ta cần quản lý thông tin của công dân để triệu gọi nhập ngũ khi đến thời điểm, biết rằng điều kiện nhập ngũ là nam giới từ 18 tuổi trở lên không đang theo học tại bất kỳ trường đại học, cao đẳng nào. Phân tích đầu bài cho thấy, cần phải xây dựng:

a)

Lớp công dân và lớp Công dân nhập ngũ

b)

Lớp công dân và lớp Công dân nam nhập ngũ

c)

Lớp công dân

119.

Khi đưa các lớp thực tế vào quản lý trong máy tính ta nhận thấy mỗi đối tượng thực tế có vô số thuộc tính nhưng với mỗi bài toán cụ thể ta chỉ xác định các lớp chỉ gồm một số thuộc tính nhất định. Cách thức đó gọi là:

a)

Sự trừu tượng hóa dữ liệu.

b)

Sự trừu tượng hóa chức năng.

c)

Tính đa hình.

d)

Tính kế thừa.

120.

Cho lớp A, B, C trong đó lớp C kế thừa lớp A,B. Trong lớp A, B đều có phương thức Xuat, lớp C không có phương thức Xuất, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì khi biên dịch thấy xuất hiện lỗi, trường hợp xảy ra lỗi này là do:

a)

Lớp A.

b)

Lớp B.

c)

Lỗi không thể xác định được.

d)

Trùng tên giữa phương thức các lớp cha

121.

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. Mối quan hệ giữa lớp Sinh viên và lớp thí sinh là:

a)

Lớp Thí sinh là trường hợp đặc biệt hóa của lớp Sinh viên

b)

Lớp Sinh viên là trường hợp đặc biệt hóa của lớp Thí sinh.

c)

Lớp Thí sinh là trường hợp tổng quá của lớp Sinh viên.

d)

Không có phương án đúng. 

122.

Khi xây dựng lớp trong C++, nếu trong lớp có thành phần thuộc tính là kiểu con trỏ hay tham chiếu thì bắt buộc phải:

a)

Xây dựng hàm hủy

b)

Xây dựng phương thức nhập

c)

Xây dựng phương thức xuất.

d)

Không bắt buộc phải xây dựng gì hết.

123.

Xây dựng lớp điểm trong hệ toạ độ Oxyz  các thuộc tính của lớp là:

a)

Tung độ, hoành độ, cao độ

b)

Tung độ, hoành độ, cao độ, dịch chuyển

c)

Dịch chuyển

d)

Không có phương án nào đúng.

124.

Hãy cho biết thành phần thuộc tính của lớp đa thức xây dựng bằng mảng:

a)

Bậc, mảng hệ số

b)

Bậc, hệ số

c)

Mảng bậc, mảng hệ số

d)

Mảng bậc, hệ số.

125.

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 

126.

: Cho lớp Dathuc, để thực hiện khai báo sau mà không lỗi:

void main()

{

Dathuc D1,D2(D1); 

}

Ta cần xây dựng:

a)

Hàm tạo không đối và hàm tạo sao chép;

b)

Hàm tạo không đối và hàm tạo có đối.

c)

Hàm tạo có đối số mặc định

d)

Hàm tạo có đối.

127.

Xây dựng hàm tạo sao chép của lớp Diem trong C++ khai báo theo cú pháp sau:

a)

Diem (const Diem &D);

b)

Diem (Diem D);.

c)

Diem (float x, float y);

d)

Diem (Diem D1, Diem D2);.

128.

Để tính khoảng cách hai điểm trong lớp điểm ta xây dựng phương thức tính khoảng cách hai điểm theo cú pháp sau: float KC2D(Diem D); Lời gọi đến phương thức để tính khoảng cách hai điểm là:

a)

cout<<D1.KC2D(D2);

b)

cout<<KC2D(D1,D2);

c)

KC2D(D1,D2).in()

d)

Không có phương án đúng

129.

Trong kế thừa, lớp dẫn xuất có thể kế thừa các phương thức và  thuộc tính của l ớp cơ sở nhưng không:

a)

Kế thừa hàm tạo, toán tử gán

b)

Kế thừa hàm hủy, toán tử gán

c)

Kế thừa toán tử

d)

Tất cả các phương án trên.

130.

Tính chất kế thừa chỉ ra rằng khi lớp A kế thừa lớp B thì:

a)

Lớp A sẽ có toàn bộ những thành phần thuộc protected và public của lớp B.

b)

Lớp B sẽ có toàn bộ những thành phần thuộc protected và public của lớp A.

c)

Lớp A sẽ có toàn bộ những thành phần thuộc private, protected và public của lớp B.

d)

Lớp A sẽ có toàn bộ những thành phần thuộc private và public của lớp B.

131.

Trong lớp phân số khai báo: Phanso(int ts=0,int ms=1); Là :

a)

Hàm tạo có tham số mặc định của lớp Phanso

b)

Hàm tạo sao chép của lớp Phanso

c)

Phương thức gán của lớp Phanso

d)

Khai báo trên không thể tồn tại trong lớp Phanso

132.

Hãy cho biết trong các ví dụ sau ví dụ nào thể hiện sự kế thừa :

a)

Lớp lớp Người và Giáo Viên 

b)

Lớp Điểm và Hình tròn.

c)

Lớp Xe ô tô và lớp Xe

d)

Lớp Điểm và Lớp điểm màu

e)

Tất cả các phương án đều đúng.

133.

Cho lớp B, C kế thừa lớp A; Lớp D kế thừa lớp B và C. Khi đó đối tượng của lớp D không thể kế thừa được thành phần của A. Cần phải :

a)

Khai báo lại A là lớp cơ sở ảo với D.

b)

Khai báo A là lớp cơ sở ảo đối với B và C.

c)

Khai báo A là lớp cơ sở ảo đối với B.

d)

Hiển nhiên lớp D không thể kế thừa lớp A vì kế thừa không có tính bắc cầu.

134.

Các phương thức cơ bản của một chiếc máy giặt là:

a)

Cấp nước, Đảo trộn, Xả nước, Vắt khô

b)

Đảo trộn, Xả nước, Vắt khô

c)

Đảo trộn, Xoay, Vắt khô,

135.

Khi xây dựng lớp đối tượng công việc cần làm là:

a)

Xác định thành phần thuộc tính và phương thức của lớp đó.

b)

Xác định thành phần private, public, protected là gì.

c)

Xác định kiểu dữ liệu của thuộc tính, kiểu trả về của phương thức.

d)

Tất cả các phương án đều đúng.

136.

Khi khai báo lớp A là bạn của lớp B thì:

a)

Chưa chắc lớp B đã là bạn của lớp A.

b)

Chắc chắn lớp B là bạn của lớp A.

c)

Lớp A sẽ kế thừa mọi thành phần của lớp B.

d)

Tất cả các phương thức của lớp B đều có thể truy cập đến thành phần riêng của lớp A

137.

Trường Đại học kinh doanh cũng In giấy báo nhập học vào mỗi kỳ tuyển sinh, Trường địa học Kinh tế quốc dân cũng In giấy báo nhập học, trường đại học Quốc gia cũng in Giấy báo nhập học, tuy nhiên 3 giấy báo nhập học này lại có thể có cấu trúc, nội dung, hình thức khác nhau. Ví dụ này chứng tỏ tính:

a)

Đa hình

b)

Ảo của phương thức.

c)

Trừu tượng

d)

Đóng gói.

138.

Một lớp có thể:

a)

Là lớp cơ sở của vô số lớp.

b)

Là lớp bạn của vô số lớp.

c)

Là lớp dẫn xuất của vô số lớp.

d)

Tất cả các phương án đếu đúng.

139.

Chồng hàm là:

a)

Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào.

b)

Khả năng các hàm có thể trùng tên nhau, trùn cả về: kiểu dữ liệu trả về, kiểu dữ liệu của tham số, số lượng tham số truyền vào.

c)

Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào. Chỉ có thể chồng hàm thành viên của lớp

d)

Tất cả các phương án đếu đúng.

140.

Xây dựng lớp Hinh_hoc là lớp cơ sở cho các lớp Hinh_vuong, Hinh_tron, Hinh_cn, Hinh_tamgiac. Nhận thấy các lớp này đểu có phương phương thức tính D_Tich(diện tích). Tuy nhiên cách tính diện tích của các phương thức D_Tich ứng với các đối tượng của các lớp dẫn xuất là khác nhau. Điều này thể hiện tính:

a)

Đa hình

b)

Ảo của phương thức.

c)

Trừu tượng

d)

Đóng gói.

141.

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)

142.

Các lớp có thể kế thừa từ lớp Điện thoại

a)

Lớp Iphone

b)

Lớp điện thoại LG

c)

Lớp điện thoại di động

d)

Lớp điện thoại cố định

e)

Tất cả phương án

143.

Các phương thức cơ bản của lớp xe hơi là:

a)

Khởi động, Chuyển bánh, Rẽ phải, Rẽ trái, Di chuyển, Quay đầu, Lùi sau

b)

Khởi động, Chuyển bánh, Rẽ phải, Rẽ trái, Di chuyển, Lùi sau.

c)

Khởi động, Di chuyển, Rẽ phải, Rẽ trái, Lùi sau.

d)

Không có phương thức nào là của lớp xe hơi.

144.

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 khởi gán giá trị ban đầu cho thành phần phương thức của lớp

c)

Khi cần truyền tham số cho hàm thành viên của lớp.

d)

Không bắt buộc phải xây dựng hàm tạo

145.

Cho đoạn chương trình sau:

class Phanso

 {

          private:

                    int ts,ms;

          public:

                    Phanso(int ts1, int ms1)

{ts=ts1;ms=ms1;}

 };

 void main()

 {

Phan so P1,P2(3,4);

 }

 Câu lệnh khai báo Phanso P1 bị báo lỗi vì:

a)

Gọi tới hàm tạo không đối mà chương trình lại không xây dựng.

b)

Chương trình trên không thể lỗi được vì chương trình C++ sẽ tự phát sinh hàm tạo không đối.

c)

Không xác định được gọi tới hàm tạo nào

d)

Tất cả đều sai.

146.

Mối quan hệ giữa lớp Người và lớp Sinh viên là:

a)

Lớp Người là lớp cơ sở cho lớp Sinh Viên.

b)

Lớp Người là lớp dẫn xuất của lớp Sinh Viên

c)

Lớp Người là lớp bao của lớp Sinh Viên

d)

Lớp Nguời là lớp đối tượng thành phần của lớp Sinh Viên.

147.

Mối quan hệ giữa lớp Môn Học và lớp Sinh viên là:

a)

Lớp Môn Học là lớp cơ sở cho lớp Sinh Viên.

b)

Lớp Môn Học là lớp dẫn xuất của lớp Sinh Viên

c)

Lớp Môn Học là lớp bao của lớp Sinh Viên

d)

Lớp Môn Học là lớp đối tượng thành phần của lớp Sinh Viên.

148.

Khi xây dựng lớp đối tượng, các thuộc tính dữ liệu thông thường được khai báo trong phạm vi:

a)

Private

b)

Public

c)

Private và Protected

d)

Protected

149.

Cho đoạn chương trình:

 class Diem

 {

          float x,y;

          public:

          Diem(){x=0;y=0};               //ham tao khong doi

          Diem(float x,float y);//ham tao co doi

 };

 class HT:public Diem

 {

   private:

          float r;

   public:

   HT(){r=1;};

   HT(float x1,float y1, float r1){r=r1;};

 };

Đoạn chương trình trên khi khai báo 1 hình tròn (HT H1;) thì hình tròn H1 này có:

a)

Không xác định được tâm vì theo tính chất kế thừa không kế thừa hàm tạo, ở lớp dẫn xuất phải gọi hàm tạo của lớp cơ sở.

b)

Tâm là (0,0) bán kinh là 1

c)

Tâm là(1,1) bán kình là 1

d)

Tất cả các phương án đều đúng.

150.

Cho đoạn chương trình:

 class Diem

 {

          float x,y;

          public:

          Diem(){x=0;y=0};               //ham tao khong doi

          Diem(float x,float y);//ham tao co doi

 };

 class HT:public Diem

 {

   private:

          float r;

   public:

   HT(){r=1;};

   HT(float x1,float y1, float r1){r=r1;};

 };

 Đoạn chương trình trên khi khai báo 1 hình tròn (HT H1;) thì hình tròn H1 này chưa xác định được tâm vì theo tính chất kế thừa không kế thừa hàm tạo ta phải tự triệu gọi hàm tạo của lớp cơ sở ở lớp dẫn xuất. Để xác định tâm cho hình tròn H1 là 0,0 ta cần sửa là:

a)

HT():Diem(){r=1;};

b)

HT(){x=0,y=0;r=1;};

c)

HT(){Diem();r=1;};

d)

Tất cả các phương án đều đúng.

151.

Để đưa đối tượng trong thực tể vào máy tính ta cần chú trọng đến tính:

a)

Trừu tượng dữ liệu và trừu tượng chức năng

b)

Đa hình của nó.

c)

Kế thừa.

d)

Báo gói

152.

Khi khai báo, xây dựng lớp các thuộc tính của lớp thường được khai báo trong phạm vi Private, điều này thể hiện đặc tính:

a)

Bao gói

b)

Trừu tượng

c)

Đa hình

d)

Chồng hàm

153.

Khi khai báo, xây dựng lớp các phương thức thường được khai báo trong phạm vi public để:

a)

Tương tác với các lớp hay môi trường bên ngoài.

b)

Thể hiện tính bao gói dữ liệu

c)

Thể hiện rõ tính chất đa hình.

d)

Tương tác với các thuộc tính bên trong lớp.

154.

Cho lớp Time với ngôn ngữ C++ như sau: 

 class time {

          int hour,min, sec;

          public:

          void addHour(int h);

}

 Khi xây dựng phương thức addHour bên ngoài lớp Time ta phải viết là:

a)

void addHour(int h){ //Nội dung}

b)

void addHour(int h);{//Nội dung}

c)

void time:addHour(int h){//Nội dung}

d)

void time::addHour(int h){//Nội dung}