5/18/2015<br />
<br />
TRƯ NG Đ I H C BÁCH KHOA HÀ N I<br />
<br />
Ngôn ng<br />
<br />
l p trình C và C++<br />
<br />
Bài 7: K th a và Đa x<br />
<br />
TS. Đ Đăng Khoa<br />
B môn Cơ h c<br />
Vi n Cơ khí<br />
<br />
ng d ng<br />
<br />
http://chud-dhbkhn.blogspot.com/<br />
<br />
1<br />
<br />
5/18/2015<br />
<br />
Khái ni m v K th a<br />
K th a cho phép đ nh nghĩa m t l p m i t m t l p khác<br />
nh m m r ng và s d ng l i các thành ph n d li u và hàm c a<br />
l p cũ thay vì ph i vi t m i hoàn toàn<br />
M t l p đư c k th a t l p khác đư c g i là l p d n xu t,<br />
ho c l p con<br />
L p cho phép vi c k th a g i là l p cơ s ho c l p cha<br />
M t l p có th là l p cơ s cho nhi u l p d n xu t<br />
M t l p có th k th a t m t ho c nhi u l p cơ s<br />
Hàm d ng và hàm h y không đư c phép k th a cho các l p<br />
d n xu t<br />
Con tr c a l p cơ s có th ch a đư c đ a ch c a các đ i<br />
tư ng c a l p d n xu t<br />
TRƯ NG Đ I H C<br />
BÁCH KHOA HÀ N I<br />
<br />
2<br />
<br />
5/18/2015<br />
<br />
Khái ni m v K th a<br />
L p k th a m c nhiên có th s d ng m t ph n ho c toàn b<br />
các thành ph n c a l p cơ s<br />
Tuỳ thu c vào ki u k th a. Có 3 ki u k th a: public,<br />
protected và private<br />
Ví d v k th a:<br />
<br />
TRƯ NG Đ I H C<br />
BÁCH KHOA HÀ N I<br />
<br />
3<br />
<br />
5/18/2015<br />
<br />
Khai báo l p k th a đơn<br />
Cú pháp:<br />
class derived-class: access-specifier base-class<br />
Trong đó:<br />
derived-class: Tên l p m i<br />
access-specifier: Ki u k th a là public, protected ho c<br />
private<br />
base-class: Tên l p đã có.<br />
N u access-specifier không s d ng, thì m c đ nh là k<br />
th a private.<br />
<br />
TRƯ NG Đ I H C<br />
BÁCH KHOA HÀ N I<br />
<br />
4<br />
<br />
5/18/2015<br />
<br />
Khai báo l p k th a đơn<br />
Ví d : L p cơ s Shape, và l p d n xu t Rectangle.<br />
#include <br />
using namespace std;<br />
// Base class<br />
class Shape{<br />
public:<br />
void setWidth(int w){<br />
width = w;<br />
}<br />
void setHeight(int h){<br />
height = h;<br />
}<br />
TRƯ NG Đ I H C<br />
BÁCH KHOA HÀ N I<br />
<br />
5<br />
<br />