Bài giảng Lập trình hướng đối tượng - Hà Văn Sang

ppt 19 trang huongle 8040
Bạn đang xem tài liệu "Bài giảng Lập trình hướng đối tượng - Hà Văn Sang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_lap_trinh_huong_doi_tuong_ha_van_sang.ppt

Nội dung text: Bài giảng Lập trình hướng đối tượng - Hà Văn Sang

  1. Lập trình hướng đối tượng Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568 Email: sanghv@hvtc.edu.vn 23/5/2021Website: 1
  2. CHƯƠNG II 23/5/2021 2
  3. 1. Lịch sử của C++ C++ được xây dựng trên nền của C §C được phát minh bởi Dennis Ritchie năm 1972 §C dùng để viết hệ điều hành UNIX §Lịch sử của C và Unix gắn liền với nhau §UNIX được hoàn thành với C 23/5/2021 3
  4. 1. Lịch sử của C++ (tiếp) C++ được đưa ra bởi Bjarne Stroustrup § Phiên bản đầu tiên ra mắt năm 1980, với tên “C with class” § Phiên bản thương mại đầu tiên vào năm 1985 § Ansi và ISO đưa ra phiên bản C++ chuẩn C++ hỗ trợ lập trình hướng đối tượng 23/5/2021 4
  5. 1. Lịch sử của C++ (tiếp) Ưu điểm: § Được sử dụng rộng rãi § Là sự mở rộng của C § Hỗ trợ lập trình hướng đối tượng §Có nhiều thư viện mẫu chuẩn STL 23/5/2021 5
  6. 2. Mở rộng của C++ Một số mở rộng của C++ so với C: Đơn giản chỉ là 2 dấu ++? üTừ khóa mới üDữ liệu, khai báo biến üChuyển kiểu, tham chiếu, cấp phát bộ nhớ 23/5/2021 6
  7. 2.1. Lời chú thích Có hai cách chú thích: üCách 1: /* */ Ví dụ: /* chu thich tren nhieu dong*/ üCách 2: // Ví dụ: // Chu thich tren mot dong 23/5/2021 7
  8. 2.2. Từ khóa mới Một số từ khóa mới: asm catch class delete friend inline new operator private protected public template this throw try virtual •Nếu trong chương trình viêt bằng C có tên trùng thay đổi lại 23/5/2021 8
  9. 2.3. Kiểu dữ liệu char và int Dữ liệu kiểu char: sizeof(‘A’)=sizeof(int)=2 sizeof(‘A’)=sizeof(char)=1 Trong C hằng kí tự có kiểu int 2 byte Trong C++ hằng kí tự có kiểu char 1 byte 23/5/2021 9
  10. 2.4. Khai báo biến C++ cho phép khai báo biến: • Tại bất cứ đâu • Trước khi sử dụng Có hiệu lực trong phạm vi chương trình kể từ vị trí nó xuất hiện Ví dụ: tìm số lớn nhất trong dãy 23/5/2021 10
  11. 2.5. Chuyển đổi và ép kiểu C++ cho phép chuyển kiểu rộng rãi: 1. Khi gán giá trị số vào biến kiểu khác 2. Các kiểu số khác nhau trong cùng 1 biểu thức Ép kiểu kiểu cũ: myInt = (int) myFloat Ép kiểu kiểu mới: myInt = int (myFloat) Ví dụ: S=1+1/2+ +1/n 23/5/2021 11
  12. 2.6. Vào ra trong C++ Dòng xuất, nhập dữ liệu: Cú pháp: cout >biến1>>biến >>biếnn; Chú ý: Phải khai báo #include Dùng cin.ignore(1) để bỏ kí tự ‘\n’ Ví dụ: nhập 2 số sau đó in ra tổng và tích 23/5/2021 12
  13. 2.7. Cấp phát và giải phóng bộ nhớ Vẫn có thể dùng hàm malloc(), calloc(), free() C++ sử dụng thêm hai toán tử: new: để cấp phát bộ nhớ Cú pháp: new tên_kiểu delete: để giải phóng bộ nhớ Cú pháp: delete con_trỏ 23/5/2021 13
  14. 2.8. Biến tham chiếu Khái niệm: Giống như một bí danh của biến khác Cho phép hàm thao tác trực tiếp trên biến được truyền Cú pháp: Kiểu &Biếnthamchiếu = Biến; Ví dụ: int a, &x=a; x=1; // a=1 cout<<x; //in ra số 1 x++; //a=2 a++; //a=3 23/5/2021 14
  15. 2.9. Hằng tham chiếu Cú pháp: const Kiểu &hằngthamchiếu = Biến(hằng); Ví dụ: int n=10; const int &m = n; 23/5/2021 15
  16. 2.10. Hàm đa năng Là các hàm có cùng tên nhưng đối số khác nhau Khi gặp hàm này, trình biên dịch gọi hàm dựa vào: Số lượng đối số Kiểu của đối số Ví dụ: tìm max của dãy số nguyên, số thực 23/5/2021 16
  17. Bài tập (week 2) • Sử dụng TC++ để lập trình: 1. Làm lại các bài tập ở tuần 1 với cout và cin 2. Viết chương trình tính: 3. Nhập ma trận thực cấp mxn: - Tìm phần tử lớn nhất - Sắp xếp tăng dần - In ma trận sau khi đã sắp xếp 23/5/2021 17
  18. Bài tập (week 2-tiếp) • Sử dụng TC++ để lập trình: 4. Xây dựng chương trình thao tác với phân số: nhập, in, tối giản, cộng, tích hai phân số 5. Xây dựng chương trình thao tác với vec tơ: - Nhập 2 vec tơ - In - Tính tổng, tích hai vectơ 23/5/2021 18
  19. Qui cách nộp bài Gửi tới địa chỉ: sanghv@gmail.com CC: sanghv@hvtc.edu.vn Tiêu đề: [Lớp][BT2][Stt][Họ và tên] Ví dụ: [K43/41.01][BT2][14][Lê hoàng Vũ] Hạn nộp: 23h59’ ngày 22/01/2008 23/5/2021 19