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

Bài giảng ôn tập lập trình hướng đối tượng GV dương khai phong

41 311 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

10 Câu 5: Một trong các tính chất của phương pháp lập trình hướng đối tượng: A.. Hàm constructor được gọi khi có lệnh tạo ra một đối tượng thuộc lớp B.. 18 Câu 13: Trong các lệnh khai

Trang 1

Số tiết lý thuyết: 45 tiết

Số tiết thực hành: 30 tiết

1

Trang 2

2

 Ôn tập:

Trang 4

4

Trang 5

5

Trang 8

8

Câu 3: Constructor của lớp sau thuộc loại constructor nào:

A Constructor ảo (virtual constructor)

B Constructor sao chép (copy constructor)

Trang 10

10

Câu 5: Một trong các tính chất của phương pháp lập trình

hướng đối tượng:

A Tính chất public của lớp

B Tính độc lập (independent) của lớp

C Tính trừu tượng (abstract) của lớp

D Tính kế thừa (inherit) của lớp

Trang 11

11

Câu 6: Phát biểu nào sau đây là sai:

A Hàm constructor được gọi khi có lệnh tạo ra một đối tượng thuộc lớp

B Hàm constructor có thể là một hàm ảo

C Một lớp có thể có nhiều hàm constructor

D Hàm constructor có tên hàm trùng với tên lớp

Trang 15

15

Câu 10: Cho biết kết quả của đoạn chương trình sau:

void cap_phat_bo_nho(int *a){

Trang 16

16

Câu 11: class A là bạn (friend class) của class B, class B là

bạn của class C

A class C có thể truy xuất các thành viên private của class A

B class B có thể truy xuất 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 private của class A

D class A có thể truy xuất các thành viên private của class C

Trang 18

18

Câu 13: Trong các lệnh khai báo đối tượng sau đây, lệnh

nào sẽ gọi constructor sao chép:

Trang 19

void Func(const UIT& x){

UIT *a1 = new UIT(5);

Trang 21

A(int x1, int y1) { x = x1; y=y1; }

void In() { cout<<x<<", "<<y; }

B Màn hình xuất ra: 10, 10

C Màn hình xuất ra: 20, 10

D Màn hình xuất ra: 20, 20

Trang 23

23

Câu 18: Trong các khai báo hàm sau đây, hàm nào là khởi tạo

sao chép (copy constructor) của lớp Phanso:

A Phanso()

B Phanso(int ts, int ms)

C Phanso(const Phanso& x )

D Phanso(int ts)

Trang 24

B Màn hình xuất ra: 10, 10

C Màn hình xuất ra: 20, 10

D Màn hình xuất ra: 20, 20

Trang 25

25

Câu 20: Phát biểu nào sau đây là đúng:

A Trong hàm constructor ta có thể dùng lệnh return để trả về một giá trị cho hàm

B Mỗi lớp chỉ có duy nhất một hàm destructor

C Hàm destructor không thể là một hàm ảo

D Tất cả đều sai

Trang 27

27

Câu 22: Cho Phát biểu nào sau đây là ĐÚNG trong đa

năng hoá toán tử (operator overloading)

A Có thể thay đổi kết quả thực hiện của các toán tử trên các kiểu dữ liệu cơ sở

(built-in)

B Có thể định nghĩa thêm toán tử mới ngoài những toán tử đã có trong C++

C Có thể thay đổi số lượng tham số (số ngôi) của các toán tử

D Không thể thay đổi độ ưu tiên của các toán tử

Trang 28

}

};

A Chương trình báo lỗi

B Kết quả in ra: ABC

C Kết quả in ra: ABB

D Kết quả in ra: BBC

void main() {

Trang 29

29

Câu 24: Toán tử nào có thể được viết lại (overloaded trong

C++ A = (toán tử gán)

B ?: (toán tử điều kiện)

C sizeof (toán tử xác định kích thước dữ liệu)

D :: (toán tử phạm vi)

Trang 30

30

Câu 25: Để đa năng hoá toán tử >> dùng để nhập các thông tin của đối tượng thuộc class Data (ví dụ như: cin>>dataToPrint) Dòng đầu tiên trong hàm cài đặt toán tử là:

A ostream operator>>(ostream &input,const Data &dataToPrint)

B ostream operator>>(istream &input,const Data &dataToPrint)

C istream &operator>>(istream &input, Data dataToPrint)

D istream &operator>>(istream &input, Data &dataToPrint)

Trang 31

31

Câu 26: Xét đoạn chương trình khai báo class Data như

sau: class Data{

private: int a;

public:

Data operator (int);

void Giam(){ a=a-1;}

Phần cài đặt toán tử nào sau đây là đúng

B Data Data::operator – (int){

Trang 34

34

Câu 29: Lớp D là lớp kế thừa public từ lớp B Hàm F là

hàm friend của lớp D Khi đó:

A Hàm F cũng là hàm bạn của lớp B

B Hàm F có thể truy xuất các thành viên có giới hạn private của lớp B

C Hàm F có thể truy xuất các thành viên có giới hạn private của lớp B và D

D Hàm F có thể truy xuất các thành viên có giới hạn private của lớp D

Trang 35

C Chương trình báo lỗi

D Màn hình xuất hiện: A=5

Trang 36

36

Câu 31: Sự khác nhau giữa hàm ảo (virtual) và hàm thuần

ảo (pure virtual):

A Hàm thuần ảo không có phần cài đặt

B Hàm thuần ảo phải có khai báo từ khoá pure virutal

C Hàm ảo và hàm thuần ảo là giống nhau

D Một lớp hoặc chỉ có hàm thuần ảo hoặc chỉ có hàm ảo

Trang 37

37

Câu 32: Phát biểu nào sau đây là SAI:

A Lớp dẫn xuất có thể khởi tạo giá trị khác cho các thuộc tính có giới hạn public của

lớp cơ sở

B Destructor của lớp cơ sở được gọi sau destructor của lớp dẫn xuất

C Nếu một lớp dẫn xuất không có cài đặt hàm destructor của lớp cơ sở cũng sẽ

không được gọi khi giải phóng đối tượng thuộc lớp dẫn xuất

D Constructor của lớp cơ sở được gọi trước constructor của lớp dẫn xuất

Trang 38

A Chương trình chạy và hiển thị ký tự C trên màn hình

B Chương trình chạy và không hiển thị kết quả gì

C Chương trình báo lỗi do khai báo biến con trỏ pb thuộc kiểu lớp trừu tượng

D Chương trình báo lỗi do khai báo biến c thuộc kiểu lớp trừu tượng

Trang 39

39

Câu 34: Phát biểu nào sau đây là SAI:

A Hàm ảo của lớp phải được cài đặt trong lớp đó

B Hàm ảo trong lớp cơ sở có thể được viết lại trong lớp dẫn xuất

C Hàm ảo khác với hàm thuần ảo

D Hàm ảo của một lớp có thể là hàm friend của lớp đó

Trang 40

class Derive: Base {

Derive(){ cout<<"Derive class " <<endl;}

A Base class Derive class

B Derive class Base class

C Base class Base class Derive class

D Base class Derive class Base class

Trang 41

41

Ngày đăng: 03/12/2015, 18:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w