Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 9

Tham khảo tài liệu 'ngôn ngữ lập trình c++ từ cơ bản đến hướng đối tượng part 9', 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ả | whìle GetDelta DeltaX DeltaY Tọa độ mới theo trục X FigureX DeltaX DragBy 11 Tọa độ mới theo trục y FigureY DeltaY DragBy Dịch chuyển đổi tượng FigureX FigureY Hàm Drag có sử dụng một hàm khác chưa được nhắc đên -hàm GetDelta. Hàm GetDeỉta làm một nhiệm vụ duy nhất là xác định hướng dịch chuyển của đõì tượng khi người sử dụng gõ các phím ị T ị Các giá trị của DeltaX và DeltaY sẽ xác định hướng dịch chuyển và bao gồm DeltaX 1 nếu phím được gõ DeltaX -1 nếu phím 4 được gõ Delta Y 1 nếu phím T được gõ DeltaY -1 nếu phím ị được gõ. Phân tích hàm Drag ta nhận thấy hàm được truyền đô i số là đối tượng của một lớp dẫn xuất từ lớp Paint. Trình biên dịch sẽ dùng đốì sô này để xác định đúng đối tượng tác động lên các hàm thành phần như GetXO Get MoveTo . và dịch chuyển đôì tượng đối chú ý cách gọi các hàm thành phần trên trong hàm Drag . Tuy vậy cũng cần lưu ý các hàm thành phần GetXO GetYO và MoveTo là các hàm được thừa kế trong các tất cả các lóp được đẫn xuất từ lớp Point do đó chúng luôn được gắn liền 405 với đối tượng đang gọi chúng. Điểu cần lưu ý ồ đây là phải xác định đúng các hàm Show HideO của đối tượng đang được dịch chuyển trong hàm MoveTo bởi vì các hàm này có nội dung hoàn toàn khác nhau trong các lớp dẫn xuất từ lớp Point. Vấn đề này tuy vậy lại được giải quyết khá dỗ dàng nếu các hàm Show và HideO được khai bảo theo kiểu virtual. Khi đó việc xác định hàm Show và Hide của dôi tượng nào được gọi sẽ được thực hiện thòng qua phép ràng buộc muộn và từ đôì tượng gọi các hàm này. Như vậy có thể nhận thấy neu hàm Drag dược khai báo trong lóp Point và các lớp dẫn xuất thừa kế hàm này thì tất cả các vân để trôn sẽ được giải quyết một cách trọn vẹn. Khi một đôì tượng của các lớp dẫn xuất từ lớp Point gọi hàm thành phần này. thì do khả năng ràng buộc muộn chương trình sẽ gọi đúng các hàm thành phần của các đôi tượng đó. Một vấn đề nũa cần đặt ra ỏ đây là có nên khai báo hàm Dràg trong lớp Point và virtual không Khi khai báo một hàm là virtual thông .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.