1. Trang chủ
  2. » Cao đẳng - Đại học

bai tap thuc hanh c 4

19 12 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 19
Dung lượng 113 KB

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

Nội dung

xuất chỉ tạo ra một bản sao của các thành phần được thừa kế từ lớp cơ sở... Lớp cơ sở ảo[r]

Trang 1

Chương 4: Thừa kế

Trang 2

Nội dung chính

 Thừa kế là gì?

 Cài đặt thừa kế

 Đa thừa kế

Trang 3

1 Thừa kế là gì?

 C++ cho phép tạo ra một lớp mới từ các lớp

đã tồn tại

 Lớp B kế thừa lớp A, có nghĩa là lớp B sẽ có các thuộc tính và phương thức của A, ngoại trừ các thành phần private

 Lớp B được gọi là lớp con hay lớp dẫn xuất

 Lớp A được gọi là lớp cha hay lớp cơ sở

Trang 4

Một số kiểu thừa kế

Trang 5

Một số kiểu thừa kế

Trang 6

Một số kiểu thừa kế

Trang 7

2 Cài đặt thừa kế

 Cú pháp khai báo lớp dẫn xuất từ một lớp

cơ sở như sau:

class lớp_dẫn_xuất : mức truy nhập lớp_cơ_ sở

Mức truy nhập Thành phần được thừa kế từ lớp cơ sở

public giữ nguyên mức truy nhập

protected chuyển sang mức truy nhập protected

private chuyển sang mức truy nhập private

Trang 8

Ví dụ: thừa kế

Lớp Salary thừa kế hai phương thức ShowData() và Salary()

Trong lớp Salary cả hai phương thức này đều có mức truy nhập là protected.

Trang 9

Trong hàm tạo của lớp dẫn xuất có thể gọi đến hàm tạo của lớp cơ sở

Trang 10

Gán đối tượng của lớp cơ sở bằng lớp dẫn xuất

 Sau phép gán, các thành phần chung của hai đối tượng sẽ có giá trị như nhau

Trang 11

Gán đối tượng của lớp dẫn xuất bằng lớp cơ sở

Trang 12

Chú ý: phải chồng toán tử =

Trang 13

3 Đa thừa kế

X

A2 A1

B

Trang 14

Giải quyết xung đột

 Gọi tường minh

 Ví dụ lớp X có phương thức x được thừa kế

 Lời gọi x từ một đối tượng của lớp B

B b;

b.A1 :: x;

b.A2 :: x;

 Sử dụng lớp cơ sở ảo

Trang 15

Lớp cơ sở ảo

 Lớp cơ sở ảo đảm bảo trong lớp dẫn xuất chỉ tạo ra một bản sao của các thành phần được thừa kế từ lớp cơ sở.

Trang 17

Lớp cơ sở ảo

 Hàm tạo của lớp cơ sở chỉ được gọi trong

hàm tạo của lớp dẫn xuất trực tiếp từ nó

 Hàm tạo của lớp cơ sở ảo thì được gọi ở tất

cả các lớp dẫn xuất nó

 Quy tắc như sau:

 Hàm tạo của lớp cơ sở ảo được gọi đầu tiên

 Tiếp theo đó là hàm tạo của các lớp dẫn xuất trực tiếp

Ngày đăng: 28/04/2021, 23:27

w