Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
3,53 MB
Nội dung
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ BỘ MÔN TIN HỌC CÔNG NGHIỆP TÀI LIỆU LỜI GIẢI BÀI TẬP TÊN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ MÃ HỌC PHẦN: TEE319 BIÊN SOẠN: LÊ HẢI TRUNG THÁI NGUN – 2015 LỜI NĨI ĐẦU Lập trình hướng đối tượng phương pháp lập trình cho phép thao tác trực tiếp đối tượng cụ thể, chương trình viết theo hướng đối tượng chia thành lớp đối tượng từ cho phép đối tượng kế thừa đặc tính đối tượng khác hoạt động thông qua tương tác với đối tượng khác nhờ chế truyền thơng báo Từ giúp lập trình theo hướng đối tượng có linh hoạt, tiện ích việc xây dựng pháp triển phần mềm Ngày lập trình hướng đối tượng áp dụng rộng rãi giới, thay hồn tồn phương pháp lập trình truyền thống để mang lại hiệu tiện ích cho người sử dụng Các ngơn ngữ lập trình hướng đối tượng phát triển mạnh mẽ sử dụng thông dụng C#, C++, Visual Basic, Java, Visual C Vì việc nghiên cứu phương pháp lập trình thực cần thiết người làm Tin học Cuốn tập tổng hợp lời giải đề lập trình hướng đối tượng C++ Đây tài liệu tham khảo bạn sinh viên chuyên ngành CNTT, phục vụ tốt cho việc ôn thi sở để luyện tập kỹ lập trình hướng đối tượng ngơn ngữ bậc cao Trong trình biên soạn chắn cịn nhiều thiếu sót, hi vọng nhận đóng góp ý kiến nhiệt tình thầy, bạn MỤC LỤC CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 Tóm tắt lý thuyết 1.2 Các dạng tập 1.3 Các vấn đề thảo luận, thực hành, thí nghiệm 1.4 Bài tập sinh viên tự làm CHƯƠNG 2: LỚP (CLASS) 2.1 Tóm tắt lý thuyết 2.2 Các dạng tập 2.3 Các vấn đề thảo luận, thực hành, thí nghiệm 2.4 Bài tập sinh viên tự làm CHƯƠNG 3: TOÁN TỬ TẢI BỘI 3.1 Tóm tắt lý thuyết 28 3.2 Các dạng tập 28 3.3 Các vấn đề thảo luận, thực hành, thí nghiệm 30 3.4 Bài tập sinh viên tự làm 30 CHƯƠNG 4: KẾ THỪA 4.1 Tóm tắt lý thuyết 43 4.2 Các dạng tập 44 4.3 Các vấn đề thảo luận, thực hành, thí nghiệm 48 4.4 Bài tập sinh viên tự làm 48 CHƯƠNG 5: KHN HÌNH 5.1 Tóm tắt lý thuyết 78 5.2 Các dạng tập 79 5.3 Các vấn đề thảo luận, thực hành, thí nghiệm 80 5.4 Bài tập sinh viên tự làm 80 TÀI LIỆU THAM KHẢO CHƯƠNG CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1.1 Tóm tắt lý thuyết Tìm hiểu cách tiếp cận hướng đối tượng, ưu điểm, nhược điểm lập trình truyền thống đặc điểm lập trình hướng đối tượng Các khái niệm sở phương pháp hướng đối tượng: Đối tượng, Lớp, Trừu tượng hóa liệu bao gói thông tin, kế thừa, tương ứng bội Các bước cần thiết để thiết kế chương trình theo hướng đối tượng Các ưu điểm lập trình hướng đối tượng Các ngôn ngữ hướng đối tượng 1.2 Các dạng tập Câu 1.1: Tại phải lập trình hướng đối tượng? Để làm tập chương sinh viên cần nắm khái niệm bản, đặc điểm, tính chất lập trình hướng đối tượng, 1.3 Các vấn đề thảo luận, thực hành, thí nghiệm Khơng có 1.4 Bài tập sinh viên tự làm Câu 1.2: Nêu đặc điểm lập trình hướng đối tượng? Lập trình hướng đối tượng có đặc điểm quan trọng sau: Nhấn mạnh liệu thủ tục Các chương trình chia thành đối tượng Dữ liệu che giấu truy xuất từ hàm bên ngồi Các đối tượng giao tiếp với thông qua hàm Dữ liệu hay hàm thêm vào cần Theo tiếp cận từ lên Câu 1.3: Trong số nhận định sau, nhận định đúng, nhận định sai: - Đối tượng thực thể cụ thể, tồn thực tế ứng dụng Đ - Đối tượng thể cụ thể Lớp Đ - Lớp khái niệm trừu tượng dùng để biểu diễn Đối tượng Đ - Lớp trừu tượng hoá Đối tượng Đ - Lớp Đối tượng có chất giống S - Trừu tượng hoá đối tượng theo chức tạo thuộc tính lớp S - Trừu tượng hoá đối tượng theo chức tạo phương thức lớp Đ - Trừu tượng hoá đối tượng theo liệu tạo thuộc tính lớp Đ - Trừu tượng hoá đối tượng theo liệu tạo phương thức lớp S - Kế thừa cho phép hạn chế trùng lặp mã nguồn Đ - Kế thừa cho phép tăng khả sử dụng lại mã nguồn Đ Câu 1.4: Liệt kê tất thuộc tính hành động đối tượng Xe ô tô Đề xuất lớp Car (Ơ tơ) Thuộc tính: màu xe, nhãn hiệu, trọng lượng, giá thành Hành động: khởi động xe, chạy xe, dừng xe, tắt máy class Car { private: char colour[10]; char brand[10]; float weight, price; public: void start(); void run(); void stop(); void shutdown(); }; Câu 1.5: Liệt kê tất thuộc tính hành động đối tượng Xe buýt Đề xuất lớp Bus Thuộc tính: màu xe, số chỗ ngồi, trọng lượng, tuyến xe Hành động: khởi động xe, chạy xe, dừng xe, tắt máy class Bus { private: char colour[10]; int seats; float weight; char ways[30]; public: void start(); void run(); void stop(); void shutdown(); }; Câu 1.6: Từ hai lớp Car Bus Đề xuất lớp Động (Engine) cho hai lớp kế thừa, để tránh trùng lặp liệu hai lớp Car Bus class Engine { public: char colour[10]; float weight; public: void start(); void run(); void stop(); void shutdown(); }; CHƯƠNG 2: LỚP (CLASS) 2.1 Tóm tắt lý thuyết Định nghĩa lớp Cú pháp: class tên_lớp { private: [Khai báo thuộc tính] //có thể thay private [Định nghĩa hàm thành phần (phương thức)] public: [Khai báo thuộc tính] [Định nghĩa hàm thành phần (phương thức)] }; Định nghĩa hàm thành phần: Kiểu_trả_về_của_hàm Tên_lớp::Tên_hàm(khai báo tham số) { [nội dung hàm] } Tạo lập đối tượng Sau định nghĩa lớp, ta khai báo biến thuộc kiểu lớp Các biến gọi đối tượng Cú pháp khai báo biến đối tượng sau: Tên_lớp Danh_sách_biến ; Đối tượng khai báo định nghĩa lớp theo cú pháp sau: class tên_lớp { } ; 2.2 Các dạng tập Câu 2.1: Cho biết kết thực chương trình sau: #include class int samp { a, b; public: samp(int n, int m) { a=n; b=m; int get_a() {return a; } int get_b() {return b; } } }; void main() { samp ob[4]= {samp(1, 2), samp(3, 4), samp(5, 6), samp(7, 8) }; int i; samp *p; p=ob; for(i=0; i