<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1></div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
Nội dung chính
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=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.
</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4></div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5></div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6></div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=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:
<b>class </b>lớp_dẫn_xuất<b> : mức truy nhập </b>lớp_cơ_ sở
<b>Mức truy nhập </b> <b>Thành phần được thừa kế từ lớp cơ sở </b>
public giữ nguyên mức truy nhập
protected chuyển sang mức truy nhập protected
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>
Ví dụ: thừa kế
</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9></div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=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
</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11></div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12></div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>
3. Đa thừa kế
<b>X</b>
<b>A2</b>
<b>A1</b>
</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=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;
</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>
Lớp cơ sở ảo
Lớp cơ sở ảo đảm bảo trong lớp dẫn
</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16></div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=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
</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18></div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19></div>
<!--links-->