Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

De 3 va 4 c++

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 *

e) khả năng tạo và hủy các đối tượng

3.Cấu trúc nào sau đây khai báo con trỏ lên hằng số nguyên:

а) int i: d) const int ci = 7;

b) int. pi; e) const int  pci;*

c) int. const cp = & i; f) const int  const cpci = & ci;

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

а) chỉ có class* d) class, struct, union

b) chỉ có struct e) class, struct

c) chỉ có union

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

6. Hàm thành viên (phương thức) của lớp không 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 *

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

8. Hãy chỉ ra những tính chất không thuộc tính đóng gói (encapsulation) ?

а) bố trí khai báo lớp trong tệp riêng *

b) kết hợp và định vị dữ liệu và các hàm sử lý nó trong phạm vị 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;*

е) khả năng tạo và huỷ các đối tượng *

9. Trong trường hợp nào thì trong hàm số có thể thiếu toán tử return ?

а) nếu không kiểu giá trị trả về không được chỉ ra

b) nếu kiểu giá trị trả về là void *

c) nếu tất cả các đối số của hàm được cho trước theo mặc định

d) trong bất kể trường hợp nào

10. Cần khai báo từ khoá nào sau đây với biến toàn cục để nó không thể truy cập từ tệp khác:

а) static* c) extern

b) void* d) register*

11. 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 или public) *

12. Con trỏ có thể được sử dụng với tư cách là các thuộc tính của lớp không ?

а) Có* b) Không

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

e) hàm bất kỳ

14. 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 suất và các hàm bạn *

e) các hàm bất kỳ

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

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

16. Các biến nào sau đây thuộc lớp tự động của bộ nhớ auto ?

а) các biến được khai báo bên trong các khối *

b) các biến được khai báo bên ngoài các hàm

c) các biến cục bộ với tiền tố register trong khai báo *

d) các biến cục bộ với tiền tố static trong khai báo

e) các biến cục bộ không có tiền tố auto trong khai báo *

f) tất cả các biến kể trên

17. Hàm tạo mặc định được yêu cầu :

а) bất cứ lúc nào

b) không bao giờ,nghĩa là nó được tạo ra bởi trình biên dich theo mặc định

c) nếu như mảng các đối tượng của lớp cho trước được tạo ra với việc sử dụng toán tử new *

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

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

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

c) các toán tử new, được định nghĩa bởi người sử dụng g) tất cả đều có thể

d) các toán tử gán được định nghĩa bởi người sử dụng *

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

а) Private c) Public

b) Protected*

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

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

22. 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;} c) virtual int Value()$

b)*

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;

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

24. Hàm của lớp nào sẽ được gọi trong main() ?

class A

{

public:

int res() {return 10;}

};

class DerA:virtual public A

{

public:

int res() {return 20;}

};

class DerAB:virtual public A, public DerA ... ;

{

/* ... */

}

void main()

{

DerAB c;

int i = c.res();

}

а) lớp A

b) lớp DerA*

c) không có lớp nào (tức là đoạn mã sai)

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

а) quá tải hàm d) sử dụng các phương thức ảo

b) quá tải toán tử e) sự kế thừa *

c) thay đổi kiểu giá trị trả về của hàm * f) tất cả các đáp án trên

26. Phương pháp nào được áp dụng đối với quá tải toán tử nhị phân ?

а) chỉ có các phương thức không tĩnh của lớp và chúng không có đối số ,

b) chỉ có các hàm không phải là thành viên của lớp nào cả và có 1 đối số

c) 1 trong 2 phương pháp trên

27. Những hàm nào sau đây không phải là hàm ảo đầy đủ ?

а) virtual float f() {}; * d) const float f() {return 0};*

b) virtual float f() = 0; e) tất cả các hàm trên

c) virtual float f() const = 0; f) không có hàm nào cả

28. Những lớp nào dưới đây không phải là lớp cơ sở trừu tượng:

а) lớp , được khai báo trong lớp khác *

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

c) lớp, mà tất cả các phương thức của nó là ảo (virtual)*

d) lớp mà ít nhất cũng chứa 1 hàm ảo (virtual)*

e) lớp chứa 1 hàm ảo đầy đủ

29. Mẫu (template)của lớp có thể được đưa vào các lớp khác không ?

а) Có* b) Không

30. Mẫu(template) của lớp có thể là lớp cơ sở không ?

а) Có,chỉ nếu 1 lớp bất kỳ là mẫu c) Có*

b) Có ,chỉ nếu như 1 lớp bất kỳ không phải là mẫu d) Không

de3

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

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

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

e) khả năng tạo và hủy các đối tượng

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

а) chỉ có class* b) chỉ có class và struct c) class, struct và union

3. Trong khai báo lớp không thể chỉ ra :

а) dữ liệu của lớp (hay còn gọi là thuộc tính )

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

c) có thể chỉ ra các thuộc tính và các phương thức của lớp *

4. Các thuộc tính của lớp không thể được bố trí trong phần nào trong khai báo của lớp ?

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

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

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

d) có thể bố trí trong phần bất kỳ (private, protected hoặc public) của lớp *

5. Trong hàm có nhất thiết cần có toán tử return không ?

а) Có

b) Không,nếu như kiểu giá trị trả về không được chỉ ra

c) Không ,nếu như kiểu giá trị trả về là void *

d) Không ,nếu hàm không có các đối số

6. Từ khóa this định nghĩa cho :

а) con trỏ lên đối tượng của lớp mà phương thức cho trước của lớp là thành viên của nó *

b) hàm , được định nghĩa trong khai báo của lớp

c) tên lớp

d) hàm , được định nghĩa bên ngoài khai báo của lớp

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

8. 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ự (~)

9. Để truy cập tới các biến được khai báo trong tệp khác ta sử dụng từ khóa :

а) static b) void c) extern* d) register

10. Con trỏ có thể được sử dụng với tư cách là các thành phần dữ liệu(thuộc tính) của lớp được không?

а) có* b) không

11. Khi khai báo lớp 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

12. Với lớp có khai báo public thì được truy cập tới các thành phần:

а) 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) các phương thức của lớp cho trước ,của các lớp dẫn suất và các hàm bạn

e) hàm bất kỳ

13. Những đặc quyền truy cập nào của lớp thành phần theo quan hệ với lớp bao và ngược lại ?

а) lớp thành phần có quyền truy cập tới thành phần bất kỳ của lớp bao

b) lớp bao có quyền truy cập tới thành phần bất kỳ của lớp thành phần

c) các đặc quyền binh thường cho cả 2 lớp *

14. Có những khả năng nào truy cập tới thành phần tĩnh (static) của lớp ?

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

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

c) 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

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

15. Những biến nào sau đây thuộc lớp tĩnh của bộ nhớ static ?

а) những biến được khai báo bên trong các khối

b) những biên được khai báo bên ngoài các hàm

c) các thuộc tính của lớp

d) các biến cục bộ với tiền tố static trong khai báo

e) các biến cục bộ không có tiền tố auto trong khai báo

f) tất cả những biến trên

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

e) tất cả các đáp án trên*

17. Trong lớp dẫn suất khi thừa kế thì các đặc tính của lớp cơ sở có thể :

а) mở rộng e) sử dụng không thay đổi gì *

b) thu hẹp lại f) tất cả những phương án trên

c) thay đổi g) không có phương án nào

d) huỷ

18. Trong lớp cơ sở thiết lập phạm vi truy cập private,phạm vi truy cập đối với lớp dẫn suất là private.Khi đó trong lớp dẫn suất có phạm vi truy cập nào ?

а) Private b) Protected c) Public

19. Quyền truy cập trong lớp dẫn suất với khai báo public đượ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

20. Các phương thức của các lớp dẫn suất:

а) không thể bao trùm các phương thức của lớp cơ sở

b) có thể bao trùm các phương thức của lớp cơ sở .Số và kiểu của các đối số của các phương thức của lớp dẫn suất cần phải trùng với số và kiểu của các đối số của các phương thức của lớp cơ sở *

c) có thể bao trùm các phương thức của lớp cơ sở.Kiểu giá trị trả về của các phương thức của lớp dẫn suất cần phải trùng với kiểu giá trị trả về của các phương thức của lớp cơ sở

d) có thể bao trùm các phương thức của lớp cơ sở.Kiểu giá trị trả về của các phương thức của lớp dẫn suất cần phải trùng với kiểu giá trị trả về của các phương thức của lớp cơ sở .Số và kiểu của các đối số có thể khác.

e) có thể bao trùm các phương thức của lớp cơ sở.Số và kiểu của các đối số cũng như kiểu của giá trị trả về của các phương thức của lớp dẫn suất có thể khác so với số và kiểu của các đối số và kiểu giá trị trả về của hàm bị bao phủ của lớp cơ sở .;

21. Các phương thức của lớp có thể được định nghĩa :

а) chỉ bên trong khai báo của lớp c) bên trong hoặc bên ngoài khai báo của lớp*

b) chỉ bên ngoài khai báo của lớp

22. Những phép biến đổi nào của các kiểu được thực hiện trong đoạn mã sau là không thể được?

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;*

23. Hàm của lớp nào được gọi trong main() ?

class A

{

public:

int foo() {return 1;}

};

class B:virtual public A

{

public:

int foo() {return 2;}

};

class C:virtual public A, public B ... ;

{

/* ... */

}

void main()

{

C c;

int i = c.foo();

}

а) lớp А

b) lớp B*

c) không có lớp nào, mã có lỗi

24. Tính đa hinh trong C++ được thực hiện dưới dạng :

а) quá tải hàm * d) sử dụng các phương thức ảo*

b) quá tải toán tử * e) kế thừa

c) thay đổi kiểu của giá trị trả về của hàm

25. Những phương pháp nào sau đây được áp dụng đối với quá tải các toán tử nhi phân?

а) chỉ có các phương thức không tĩnh (nonstatic) của lớp và chúng không có đối số

b) chỉ có các hàm không phải là thành phần của lớp nào cả và chúng có 1 đối số

c) 1 trong 2 phương pháp trên

26. Những hàm nào sau đây là hàm ảo đầy đủ :

а) virtual float f() {}; d) const float f() {return 0};

b) virtual float f() = 0; * e) tất cả các hàm trên;

c) virtual float f() const = 0;* f) không có hàm nào

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

а) lớp được khai báo bên trong lớp khác

b) lớp không chứa các phương thức của lớp

c) lớp mà tất cả các phương thức của nó là ảo (virtual)

d) lớp mà ít nhất cũng chứa 1 hàm ảo (virtual)

e) lớp mà ít nhất cũng chứa 1 hàm ảo đầy đủ*

28. Mẫu của hàm (function template) có thể bị quá tải không ?

а) không c) có ,bởi các hàm bình thường*

b) có ,bởi các hàm mẫu khác*

29. Mẫu của lớp có thể là lớp dẫn suất không ?

а) có ,chỉ khi lớp cơ sở là mẫu c) có*

b) có, chỉ khi lớp cơ sở không phải là mẫu d) không

30. Mã ,có khả năng sinh ra ngoại lệ (exception) cần nằm trong khối :

а) sau từ khóa try;*

b) sau từ khóa catch;

c) sau từ khóa throw;

d) trong khối bất kỳ của chương trình

Bạn đang đọc truyện trên: Truyen2U.Com

Tags: #science