1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề thi Lập trình hướng đối tượng

4 711 7

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 19,38 KB

Nội dung

đề thi lập trình hướng đối tượng c de thi lap trinh huong doi tuong đề tài lập trình hướng đối tượng đề thi trắc nghiệm lập trình hướng đối tượng c đề thi môn lập trình hướng đối tượng đề thi lập trình hướng đối tượng

Trang 1

1. Những khái niệm cơ bản nào được sử dụng trong lập trình hướng đối tượng?

а) đóng gói c) đa hình

b) kế thừa d) tất cả những khái niệm trên

2. Tính đa hình là:

а) bố trí việc khai báo lớp và định nghĩa hàm thành viên (phương thức) của lớp trong 1 tệp

b) Kết hợp và định vị dữ liệu và các hàm sử lý dữ liệu đó trong phạm vi của đối tượng, giống như 1 thể thống nhất

c) tính chất của các lớp sinh ra các lớp con và kế thừa các đặc tính(dữ liệu và phương thức) từ các lớp phụ mẫu

d) tính chất của các đối tượng gần nhau thi hành các phương thức cùng kiểu (thậm chí cùng tên) theo các cách khác nhau mà không bị nhầm lẫn

3. Những từ khóa nào định nghĩa lớp trong C++ ?

а) chỉ có class b) class, struct, union

c) chỉ có struct d) class, struct

4. Trong khai báo lớp có thể chỉ ra :

а) chỉ các dữ liệu thành viên (thuộc tính) của lớp

b) chỉ các hàm thành viên (phương thức)của lớp

c) các thuộc tính và phương thức của lớp

d) Tất cả a, b, c đều đúng

5. Hàm thành viên (phương thức) của lớp có thể được định nghĩa :

а) Trong khai báo của lớp

b) Ngoài khai báo của lớp

c) Có thể định nghĩa trong hoặc ngoài khai báo của lớp

d) tất cả a, b, c đều đúng

6. Các hàm hủy của lớp được dùng để :

а) cài đặt các đối tượng ban đầu của lớp

b) thực hiện các thao tác cần thiết trước khi hủy đối tượng

c) biển đổi các đối tượng của lớp dẫn suất thành đối tượng của lớp cơ sở

d) biến đổi các đối tượng của lớp cơ sở thành đối tượng của lớp dẫn suất

7. Các thuộc tính của lớp có thể được bố trí trong phần nào trong khai báo của lớp :

а) Chỉ trong phần riêng tư (private) của lớp

b) Chỉ trong phần bảo tồn (protected) của lớp

c) Chỉ trong phần công cộng (public) của lớp

d) Trong phần bất kỳ của lớp (private, protected và public)

8. Các thành viên của lớp với từ khóa private thì được truy cập bởi :

а) Chỉ các phương thức của lớp cho trước

b) Các phương thức của lớp cho trước và các lớp dẫn suất

c) Các phương thức của lớp cho trước và các hàm bạn

d) Các phương thức của lớp cho trước, các lớp dẫn suất và các hàm bạn

9. Các thành viên của lớp với từ khóa protected thì được truy cập bởi:

а) Chỉ các phương thức của lớp cho trước

b) Các phương thức của lớp cho trước và các lớp dẫn suất

c) Các phương thức của lớp cho trước và các hàm bạn

d) Các phương thức của lớp cho trước, các lớp dẫn xuất và các hàm bạn

10.Có những khả năng nào để truy cập tới các thành viên không tĩnh (nonstatic) của lớp ?

а) chỉ thông qua con trỏ lên đối tượng của lớp

b) chỉ thông qua tên của đối tượng

c) chỉ thông qua con trỏ lên đối tượng của lớp hoặc qua tên của đối tượng

d) chỉ thông qua tên của lớp

11.Không thể thừa kế :

а) các hàm tạo b) quan hệ bạn bè

c) các hàm huỷ d) tất cả những thứ trên đều không thể

Trang 2

12.Trong lớp cơ sở thiết lập quy chế truy cập public Cần dùng từ khai báo truy cập nào để nhận được quy chế truy cập protected trong lớp dẫn suất

13.Quyền truy cập trong lớp dẫn suất với khai báo private được xác định thế nào?

а) giữ lại tất cả các quyền truy cập có trong lớp cơ sở

b) protected -> private, public -> private

c) protected -> protected, public -> protected

14.Phương thức của lớp phát sinh có thể gọi hàm trùng tên của lớp cơ sở không ?

а) Không

b) Có, chỉ sử dụng tên phương thức của lớp cơ sở

c) Có, sử dụng tên của lớp cơ sở và thao tác cho phép thấy được

d) Có, nếu cả 2 phương thức đều không có đối số

15.Trình biên dịch báo lỗi với đoạn mã sau :

class A

{

public:

int value;

};

class B:public A ;

class C:public A ;

class D:public B, public C

{

public:

int Value() {return value;}

};

" Field 'value' is ambiguous in function D::Value()"

(trường 'value' có 2 nghĩa trong hàm D::Value()) Đáp án sửa lỗi nào sau đây sử dụng lớp cơ sở ảo ? a) int Value() {return C::value;} b) virtual int Value()$

c)

class B:public virtual A ;

class C:public virtual A ;

class D:public B, public C

{

public:

int Value() {return value;}

};

d) tất cả các đáp án trên;

16.Những biến đổi nào của các kiểu được thực hiện trong đoạn mã sau là có thể

class A ;

class B: public A ;

void main()

//

A a; B b;

A* ap = new A;

B* bp = new B;

а) a = b;

b) ap = bp;

c) b = a;

d) bp = ap;

17.Đáp án nào dưới đây không định nghĩa tính đa hình trong C++?

а) Chồng hàm b) Sử dụng các phương thức ảo

c) Sử dụng con trỏ d) Sự kế thừa

18.Tính đóng gói là :

а) Bố trí việc khai báo lớp trong 1 tệp riêng

Trang 3

b) Kết hợp và định vị dữ liệu và các hàm xử lý dữ liệu đó trong phạm vi của đối tượng, giống như 1 thể thống nhất

c) Tính chất của các lớp sinh ra các lớp con và kế thừa từ các đặc tính (dữ liệu và phương thức) từ các lớp phụ mẫu

d) Tính chất của các đối tượng gần nhau thi hành các phương thức cùng kiểu (thậm chí cùng tên) theo các cách khác nhau mà không bị nhầm lẫn

19.Các hàm tạo của lớp được sử dụng để

а) Cài đặt các đối tượng ban đầu của lớp

b) Thực hiện các thao tác cần thiết trước khi huỷ đối tượng

c) Biến đổi các đối tượng của lớp dẫn suất thành đối tượng của lớp cơ sở

d) Biến đổi các đối tượng của lớp cơ sở thành đối tượng của lớp dẫn suất

20.Tên của hàm tạo của lớp

а) Có thể là tên cho phép bất kỳ

b) Cần trùng với tên của lớp, mà nó định nghĩa

c) Cần trùng với tên của lớp, trước hàm tạo thêm ký tự (~)

d) Tất cả đều đúng

21.Khi khai báo lớp trong C++ thì việc truy cập tới các thành phần của lớp theo mặc định là:

а) Private b) Protected c) Public d) không có mặc định

22.Các thành phần của lớp được khai báo public thì được truy cập bởi

а) Chỉ có các phương thức của lớp cho trước

b) Các phương thức của lớp cho trước và lớp dẫn suất

c) Các phương thức của lớp cho trước và các hàm bạn

d) Hàm bất kỳ

23.Hàm tạo mặc định là gì ?

а) Chỉ là hàm tạo không có đối số

b) Chỉ là hàm tạo, tất cả các đối số của nó được cho trước theo mặc định

c) Chỉ là hàm tạo, có dù chỉ 1 đối số được cho trước theo mặc định

d) Hàm tạo không có đối số hoặc hàm tạo mà tất cả các đối số của nó được cho trước theo mặc định

24.Chọn phát biểu sai về các đặc điểm của constructor

a) Constructor có tên trùng với tên lớp

b) Có thể có nhiều constructor

c) Constructor không có giá trị trả về

d) Constructor không có tham số

25.chọn phát biểu sai về các đặc điểm của destructor

a) Destructor có tên trùng với tên lớp

b) Destructor không có giá trị trả về

c) Destructor không có tham số

d) Một lớp chỉ có một destructor

26.Cho a và b là các đối tượng thuộc lớp test Để có thể sử dụng biểu thức a=7+b Trong lớp test phải cài đặt toán tử

a) test::operator+(int , test)

b) test::operator+(test, int)

c) test::operator+(test,test)

d) operator+(int, test) là hàm tự do và là bạn của lớp test

27.Toán tử không thể overload được là

28.Tính đa hình là

a) Hiện tượng các đối tượng thuộc các lớp khác nhau có khả năng hiểu cùng một thông điệp theo cách khác nhau

b) Tất cả các đối tượng của lớp đều dùng chung và chia sẽ một vùng dữ liệu

c) Là khả năng một lớp có thể kế thừa từ nhiều lớp

d) Tất cả a, b, c đều sai

Trang 4

29.muốn sử dụng được tính đa hình thì

a) Hàm đa hình ở lớp cơ sở phải là hàm ảo

b) Phải sử dụng con trỏ

c) Phải có kế thừa

d) Cả a, b, c đều đúng

30.lớp kế thừa lớp khác được gọi là

a) lớp cơ sở b) lớp trừu tượng c) lớp dẫn xuất d) cả a, b đều đúng

Ngày đăng: 13/04/2017, 22:28

TỪ KHÓA LIÊN QUAN

w