C++ và lập trình hướng đối tượng - Chương 6

21 360 2
C++ và lập trình hướng đối tượng - Chương 6

Đ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

C++ , lập trình ,hướng đối tượng

Chơng Tơng ứng bội phơng thức ảo Tơng ứng bội phơng thức ảo công cụ mạnh C++ cho phép tổ chức quản lý đối tợng khác theo lợc đồ Một khái niệm khác liên quan là: lớp sở trừu tợng Chơng trình bầy cách sử dụng công cụ để xây dựng chơng trình quản lý nhiều đối tợng khác theo lợc đồ thống § Ph¬ng thøc tÜnh 1.1 Lêi gäi tíi ph¬ng thức tĩnh Nh đà biết lớp dẫn xuất đợc thừa kế phơng thức lớp sở tiền bối Ví dụ lớp A sở B, lớp B lại sở C, C có lớp sở tiền bối B A Lớp C đợc thừa kế phơng thức A B Các phơng thức mà nói phơng thức tĩnh Để tìm hiểu thêm cách gọi tới phơng thức tÜnh, ta xÐt vÝ dơ vỊ c¸c líp A, B vµ C nh sau: class A { public: void xuat() { cout xuat(); hÃy lý giải xem phơng thức (trong phơng thức A::xuat, B::xuat C::xuat) đợc gọi Câu trả lời nh sau: Cả câu lệnh gọi tới phơng thức A::xuat() , trỏ p, q r có kiểu A Nh tóm lợc cách thức gọi phơng thức tĩnh nh sau: Quy tắc gọi phơng thức tÜnh: Lêi gäi tíi ph¬ng thøc tÜnh bao giê cịng xác định rõ phơng thức (trong số phơng thức trùng tên lớp có quan hệ thừa kế) đợc gọi: Nếu lời gọi xuất phát từ đối tợng lớp nào, phơng thức lớp đợc gọi Nếu lời gọi xuất phát từ trỏ kiểu lớp nào, phơng thức lớp đợc gọi trỏ chứa địa đối tợng 1.2 Ví dơ XÐt líp A, B, C vµ D Líp B C có chung lớp sở A Lớp D dẫn xuất từ C Cả lớp có phơng thức xuat() Xét hàm: void hien(A *p) { p->xuat(); } Không cần biết tới địa đối tợng truyền cho đối trỏ p, lời gọi hàm luôn gọi tới phơng thức A::xuat() trá p kiĨu A Nh vËy c©u lƯnh: 319 hien(&a); hien(&b); hien(&c); hien(&d); hàm main (của chơng trình dới đây) gọi tới A::xuat() //CT6-01 // Phuong thuc tinh #include #include #include #include class A { private: int n; public: A() { n=0; } A(int n1) { n=n1; } void xuat() { cout

Ngày đăng: 14/11/2012, 16:34

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan