Bài giảng "Kỹ thuật lập trình C/C++ - Chương 10: Lập trình hướng đối tượng" phần cơ bản giúp người học nắm bắt các khái niệm cơ bản, các thuật ngữ, tính khả kiến, thiết kế lớp, hàm khởi tạo và hàm hủy, định nghĩa lại toán tử, . Mời các bạn cùng tham khảo. | Chương 10 Lập trình hướng đối tượng --Cơ bản-- Lê Thành Sách Trường Đại Học Bách Khoa Lập trình C C Khoa Khoa học và Kỹ thuật Máy tính 1 https tailieudientucntt 2017 Nội dung n Kiểu dữ liệu trong C - Ôn lại n Các khái niệm cơ bản n Con trỏ this n Tổng hợp các thuật ngữ I n Tính khả kiến n Thiết kế lớp n Hàm khởi tạo và hàm huỷ n Định nghĩa lại toán tử n Thành viên có tính static n Thành viên có tính const n Tổng hợp các thuật ngữ II n Quan hệ bạn bè friendship n Tổ chức mã nguồn cho lớp n Biễu diễn lớp bằng sơ đồ n Tổng kết Trường Đại Học Bách Khoa Lập trình C C Khoa Khoa học và Kỹ thuật Máy tính 2 https tailieudientucntt 2017 Kiểu dữ liệu trong C n Xét đoạn chương trình typedef struct int day month year Bộ biên dịch cấp phát 3 vùng nhớ có Date tên a d và c trên STACK int main int argc char argv a 4 bytes à dùng sizeof . cho cụ thể. int a d 8 bytes double d c 12 bytes Date c 20 5 2017 Cả 3 vùng nhớ này đều THỤ ĐỘNG return 0 CHỈ CÓ CÔNG NĂNG LÀ CHỨA các giá trị của kiểu được mô tả. Trường Đại Học Bách Khoa Lập trình C C Khoa Khoa học và Kỹ thuật Máy tính 3 https tailieudientucntt 2017 Kiểu dữ liệu trong C typedef struct int day month year Date void print Date amp d cout Kiểu dữ liệu trong C typedef struct int day month year Date void print Date amp d cout Kiểu dữ liệu trong C n Nhược điểm là gì n Khó biết được dữ liệu có thể được xử lý bởi hàm nào. n Khó đảm bảo ràng buộc trên dữ liệu ví dụ n Ngày 1 à 31 tuỳ tháng tối đa n Tháng 1 à 12 Chỉ cần tính chất về đóng gói enscapsulation của lập trình hướng đối tượng OOP đã giải quyết những vấn đề trên. Hơn nữa ngoài tính đóng gói OOP còn cung cấp những tính năng hay khác nữa mà ngôn ngữ C không có. Trường Đại Học Bách Khoa Lập trình C C Khoa Khoa học và Kỹ thuật Máy tính 6 https tailieudientucntt 2017 Khái niệm cơ bản n Lớp class n Là một kiểu dữ liệu do người lập trình tạo ra. n