Thiết kế trang Web
54 • Ông Văn Thông
Ví dụ: #include
using namespace std;
class QueQuan { // one parent class
public: string tinh = "Quang Nam"; string quan = "Hoa Vang";
void introA() { cout << "Tinh "
<< tinh << " Quan " << quan << "\n" ;} };
class HocHanh { // another parent class
public: string truong = "Pascal"; string nghe = "day hoc" ;
void introB() { cout << "hoc truong "
<< truong << ", lam nghe " << nghe << "\n"; } };
class ConCai: public QueQuan, public HocHanh { // derived class
public: string ten = "My Son"; int tuoi = 20 ; double luong = 350.56;
void intro() { cout << "Ten: " << ten << ", tuoi: "
<< tuoi << " luong: " << luong << "\n"; introA(); introB(); } };
int main() {
ConCai anhhai;
anhhai.ten = "Dong"; anhhai.tuoi = 30; anhhai.luong = 5000;
anhhai.intro();
ConCai anhba; anhba.tinh = "Gia Dinh"; anhba.quan = "Binh Thanh";
anhba.truong = "Tabert"; anhba.nghe = "nha bao";
anhba.intro();
return 0; }
Kết quả:
Ten: Dong, tuoi: 30 luong: 5000
Tinh Quang Nam Quan Hoa Vang
hoc truong Pascal, lam nghe day hoc
Ten: My Son, tuoi: 20 luong: 350.56
Tinh Gia Dinh Quan Binh Thanh
hoc truong Tabert, lam nghe nha bao
TRUY CẬP KẾ THỪA C++ INHERITANCE ACCESS
1. Access Specifiers
Bạn đã biết rằng có ba quyền truy cập trong C++ (xem trang 49). Cho đến bây giờ, chúng ta đã
sử dụng public (quyền công khai, các thành viên của một class có thể được truy cập từ bên
ngoài class) và private (quyền riêng tư, các thành viên chỉ có thể được truy cập trong class).
Sau đây là ba ví dụ giúp ta tìm hiểu về quyền thứ là protected (bảo vệ, tương tự như private,
nhưng nó có thể được truy cập trong class kế thừa):