tailieunhanh - Ngôn ngữ lập trình C++và cấu trúc dữ liệu part 2

Tham khảo tài liệu 'ngôn ngữ lập trình c++và cấu trúc dữ liệu part 2', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | class Stack mot stack luu tru toi SIZE so nguyen protected enum SĨZE 20 kha nang cua stack private int stfSIZE so nguyên ỉuu trong mang int top chi so cua muc du lieu cuoi cung dat vao protected int get_topO const tra ve gia tri top hien tai return top public StackO ham tao khong doi so top -1 void push int var st top var int popO return st top class Stack2 public Stack public void push int var _ if get_top SIZE-l cout Loi Stack tran tren exit l Stack push var goi ham push trong Stack int popO if get_topO 0 cout Loi Stack tran duoi exit -l return Stack popO goi ham popO trong Stack ìlììlìllllllỉlìllllìịHìlllllílìllHHIIIIIIIllllìllllìlilllllll void mainO Stack2 s ll tao mot doi tuong Stack 12 13 out s. p op 0 e ndl cout endl lay ra 3 muc du lieu cout endl cout endl getchO loiday ra qua nhieu Như chúng ta có thể thấy mảng st và chỉ sô top tạo thành các mục dữ liêu chính trong Stack bây giờ là private. Chỉ có các hàm thành vién của stack mới có thể truy nhập chúng. Khi chúng ta rút ra Stack2 từ stack hàm push và popO của Stack có thể gọi hàm pushO và popO của Stack để lưu trữ và lấy lại dữ liêu. Tuy nhiên trong Stack2 chúng ta cũng cần đọc giá ưị của top để có thể kiểm tta xem Stack đã đầy chưa. Để làm được điều này chúng ta đặt hàm get_top trong 28 Stack hàm này ở protected nên ỉớp dẫn xuất có thể thực hiên nó để đảm bảo lớp dẫn xuất không thể dùng nó để thay đổi bất kỳ cái gì trong Stack nó là hàm hằng const. Đối với người sử dụng lớp thông thường Stack2 làm việc y như trong chương trình STACKINI1 hàm main y như khi chỉ có Stack . Tuy nhiên trong chương trình STAPROFU dữ liêu của Stack an toàn tránh những tổn hại do người sử dụng lớp viết lệnh sai. Nói chung đây là cách tốt hơn là đặt dữ liệu ở protected. Chú ý rằng chúng ta đặt hằng enum SIZE ở protected để Stack có thể sử dụng. Bởi vì SIZE phải được định nghĩa trước st nó là private nên chúng ta dừng hai protected trong dữ liệu của Stack. . Sự kế thừa public và private

TỪ KHÓA LIÊN QUAN