Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 9 - TS. Đặng Thái Việt
lượt xem 4
download
Bài giảng "Kỹ thuật lập trình hệ cơ điện tử: Chương 9 - Cơ sở của C++" được biên soạn bao gồm các nội dung chính sau: Các điểm khác về cú pháp so với C; Cấp phát động với new và delete; Truyền tham khảo; Một số vấn đề với hàm số trong C++; Quá tải. Mời các bạn cùng tham khảo bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 9 - TS. Đặng Thái Việt
- TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KỸ THUẬT LẬP TRÌNH HỆ CƠ ĐIỆN TỬ Programming Engineering in Mechatronics Giảng viên: TS. TS. Đặng Thái Việt Đơn vị: Bộ môn Cơ điện tử, Viện Cơ khí Hà Nội, 09/2017 1
- KỸ THUẬT LẬP TRÌNH HỆ CƠ ĐIỆN TỬ 1. Tổng quan về ngôn ngữ lập trình 7. Cấu trúc 2. Giới thiệu sơ bộ ngôn ngữ C 8. Vào/ra trong C 3. Kiểu, toán tử và biểu thức 9. Cơ sở của C++ 4. Dòng điều khiển 10. Lớp 5. Hàm và cấu trúc chương trình 11. Kế thừa và đa hình 6. Con trỏ và mảng 12. Luồng vào/ra trong C++ 2
- CHƯƠNG 9. Cơ sở của C++ 9.1 Các điểm khác về cú pháp so với C 9.2 Cấp phát động với new và delete 9.3 Truyền tham khảo 9.4 Một số vấn đề với hàm số trong C++ 9.5 Quá tải 3
- Các điểm khác nhau so với C 1. Các điểm khác nhau so với C • C là ngôn ngữ lập trình cấu trúc, nó cho phép tạo 1 ứng dụng gồm nhiều module chức năng (file), mỗi module chứa nhiều hàm chức năng, các hàm này có thể bị bao đóng trong module chứa chúng hay có thể được truy xuất bởi bất kỳ nơi nào khác ngoài module chứa nó. C là ngôn ngữ không được kiểm tra kiểu chặt, nghĩa là chương trình dịch không có khả năng và không bao giờ kiểm tra kiểu, bạn có thể gán chuỗi vào biến nguyên. 4
- Các điểm khác nhau so với C • C++ là sự nới rộng của C, nó cung cấp thêm một số khả năng để cho phép lập trình hướng đối tượng. Ứng dụng được viết theo hướng đối tượng là 1 tập các đối tượng tương tác lẫn nhau, C++ cung cấp phát biểu "class" để người lập trình đặc tả các đối tượng cấu thành ứng dụng. Tuy nhiên, mức độ hỗ trợ hướng đối tượng của C++ còn yếu, không trong sáng và dễ làm người lập trình mắc lỗi trong quá trình viết code. 5
- Các điểm khác nhau so với C • C++ cũng là ngôn ngữ lớn hơn với nhiều tính năng và phức tạp hơn so với C. Giữa C và C++ có rất nhiều khác biệt. Liệt kê 11 điểm khác biệt chính giữa 2 ngôn ngữ này. C C++ 1.Không phải ngôn ngữ hướng đối Là một ngôn ngữ hướng đối tượng. tượng (gồm 4 khái niệm về hướng đối tượng). 2.Là một ngôn ngữ lập trình thủ Không phải là ngôn ngữ lập trình tục. thủ tục. 3. Chỉ hỗ trợ các structure. Hỗ trợ các lớp và đối tượng. 4. Không có biến tham chiếu, chỉ Hỗ trợ cả biến tham chiếu và con hỗ trợ con trỏ. trỏ. 6
- Các điểm khác nhau so với C C C++ 5. Không thể khai báo hàm trong Có thể khai báo hàm trong các các structure. structure. 6. Sử dụng các Sử dụng các hàm cin>> và cout
- Các điểm khác nhau so với C C C++ 9. Không hỗ trợ các hàm inline, Hỗ trợ các hàm inline. thay vào đó có thể sử dụng khai báo #define 10. Sử dụng phương pháp tiếp Sử dụng phương pháp tiếp cận từ cận từ trên xuống (top-down). dưới lên (bottom-up). 11. Là ngôn ngữ lập trình hướng Là ngôn ngữ lập trình hướng đối chức năng (function driven). tượng (Object driven). 8
- Các điểm khác nhau so với C Danh sách các tính năng hỗ trợ trong C++ Classes Abstract classes Exception handling Member functions Access control Mutable members (public, private, protected) Constructors and Friend functions Operator destructors overloading Derived classes Pointers to References members Virtual functions Static members Templates 9
- Các điểm khác nhau so với C Inline functions Run-time type Type safe linkage identification Default arguments // comments new and delete Function True const Operator overloading overloading Namespaces Declarations as bool keyword statements e Automatically Safer and more typedef’s struct tags robust casting 10
- Cấp phát động new và delete 2. Cấp phát động new và delete • Trong các chương trình C, tất cả các cấp phát động bộ nhớ đều được xử lý thông qua các hàm thư viện như malloc(), calloc() và free(). C++ định nghĩa một phương thức mới để thực hiện việc cấp phát động bộ nhớ bằng cách dung hai toán tử new và delete. Sử dụng hai toán tử này sẽ linh hoạt hơn rất nhiều so với các hàm thư viện của C. 11
- Cấp phát động new và delete 2.1 Toán tử new Ví dụ: Cấp phát động trong C 12
- Cấp phát động new và delete Cấp phát động trong C++ • Chúng ta nhận thấy rằng, cách viết của C++ sáng sủa và dễ sử dụng. Toán tử new thay thế cho hàm malloc() hay calloc() của C có cú pháp như sau : 13
- Cấp phát động new và delete Trong đó: type_name: Mô tả kiểu dữ liệu được cấp phát. Nếu kiểu dữ liệu mô tả phức tạp, nó có thể được đặt bên trong các dấu ngoặc. initializer: Giá trị khởi động của vùng nhớ được cấp phát. Nếu toán tử new cấp phát không thành công thì nó sẽ trả về giá trị NULL. 14
- Cấp phát động new và delete 2.2 Toán tử delete • Toán tử delete thay thế hàm free() của C. Cú pháp như sau: • Vừa cấp phát vừa khởi động như sau 15
- Cấp phát động new và delete • Cấp phát một mảng, cú pháp như sau: • Đối với việc cấp phát mảng chúng ta không thể vừa cấp phát vừa khởi động giá trị cho chúng 16
- Cấp phát động new và delete 2.3 Ví dụ: Chương trình tạo mảng khởi động 17
- Cấp phát động new và delete Kết quả: 2.4 Bài tập: • Chương trình cộng hai ma trận trong đó mỗi ma trận được cấp phát động. 18
- Truyền tham chiếu 3. Truyền tham chiếu 3.1 Biến tham chiếu • Trong C++ cho phép sử dụng loại biến thứ ba là biến tham chiếu. So với 2 loại biến quen biết nói trên, thì biến này có những đặc điểm sau: - Biến tham chiếu không được cấp phát bộ nhớ, không có địa chỉ riêng. - Nó dùng làm bí danh cho một biến (kiểu giá trị) nào đó và nó sử dụng vùng nhớ của biến này. 19
- Truyền tham chiếu Ví dụ: • Tạo ra các biến thực u, v và biến tham chiếu thực r. Biến r không được cấp phát bộ nhớ, nó là một tên khác (bí danh) của u và nó dùng chung vùng nhớ của biến u. Ý nghĩa: - Trong mọi câu lệnh, viết u hay viết r đều có ý nghĩa như nhau, vì đều truy nhập đến cùng một vùng nhớ. - Có thể dùng biến tham chiếu để truy nhập đến một biến kiểu giá trị. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật thi công 1: Phần III - Đặng Xuân Trường
150 p | 352 | 133
-
Bài giảng Kỹ thuật chế tạo máy: Chương 2 - Trương Quốc Thanh
27 p | 181 | 40
-
Bài giảng Kỹ thuật thi công: Chương 7 - ThS. Nguyễn Hoài Nghĩa, PGS.TS. Lưu Trường Văn (Phần 4.)
42 p | 104 | 16
-
Bài giảng Kỹ thuật thi công: Chương 7 - ThS. Nguyễn Hoài Nghĩa, PGS.TS. Lưu Trường Văn (Phần 4.2)
21 p | 139 | 15
-
Bài giảng Kỹ thuật lắp đặt điện: Lắp mạch điều khiển hệ thống bơm dung dịch khử khuẩn
48 p | 45 | 4
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 8 - TS. Đặng Thái Việt
43 p | 25 | 4
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 10 - TS. Đặng Thái Việt
33 p | 11 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 11 - TS. Đặng Thái Việt
22 p | 20 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 12 - TS. Đặng Thái Việt
16 p | 12 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 7 - TS. Đặng Thái Việt
31 p | 17 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 6 - TS. Đặng Thái Việt
61 p | 12 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 5 - TS. Đặng Thái Việt
35 p | 13 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 4 - TS. Đặng Thái Việt
36 p | 7 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 3 - TS. Đặng Thái Việt
48 p | 9 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 2 - TS. Đặng Thái Việt
25 p | 15 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 1 - TS. Đặng Thái Việt
33 p | 15 | 3
-
Bài giảng Kỹ thuật lập trình hệ cơ điện tử: Chương 13 - TS. Đặng Thái Việt
83 p | 24 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn