Danh mục

Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Hữu Thể

Số trang: 27      Loại file: pdf      Dung lượng: 663.55 KB      Lượt xem: 10      Lượt tải: 0    
10.10.2023

Phí tải xuống: 19,000 VND Tải xuống file đầy đủ (27 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Lập trình hướng đối tượng - Chương 2: Các mở rộng của C++" cung cấp cho người học các kiến thức: Lịch sử ngôn ngữ C, lịch sử ngôn ngữ C++, lựa chọn ngôn ngữ C++, các từ khóa mới của C++, cách ghi chú thích,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Hữu ThểLẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Nguyễn Hữu Thể CHƯƠNG 2 CÁC MỞ RỘNG CỦA C++ 1 Nội dung Lịch sử ngôn ngữ C  Cách chuyển đổi kiểu dữ liệu Lịch sử ngôn ngữ C++  Vị trí khai báo biến Lựa chọn ngôn ngữ C++  Kiểu struct Các từ khóa mới của C++  Toán tử định phạm vi Cách ghi chú thích  Toán tử new và delete Dòng nhập/xuất chuẩn  Hàm inline Cách chuyển đổi kiểu dữ liệu  Phép tham chiếu 2Object-oriented programming 1. Lịch sử ngôn ngữ C Tiến hóa từ hai ngôn ngữ lậptrình  BCPL và B: Các ngôn ngữ “phi kiểu” Dennis Ritchie (Bell Laboratories, AT&T) Ngôn ngữ phát triển hệ điều hành UNIX Không phụ thuộc phần cứng  Tính khả chuyển 1989: ANSI chuẩn hóa (ANSI-C) 1990: Công bố chuẩn ANSI và ISO  ANSI/ISO 9899: 1990 3Object-oriented programming 2. Lịch sử ngôn ngữ C++ Mở rộng, tiến hóa từ C Bjarne Stroustrup (Bell Laboratories)  Đầu những năm 1980: “C with classes”  1984: Tên C++  1987: “The C++ Programming Language” 1st Edition  1997: “The C++ Programming Language” 3rd Edition  Chuẩn hóa quốc tế: ANSI/ISO 1996 Bổ sung các đặc tính hỗ trợ:  Lập trình hướng đối tượng  Lập trình tổng quát  Lập trình toán học,... Ngôn ngữ “lai” 4Object-oriented programming Lựa chọn ngôn ngữ C++ Đáp ứng các yêu cầu:  Gần gũi với phần cứng  Hiệu suất cao  Tương đối thân thiện với người lập trình  Chuẩn hóa quốc tế (tương lai vững chắc) Thế mạnh tuyệt đối của ANSI-C:  Phổ biến cho hầu hết các nền vi xử lý, vi điều khiển, DSP  Phổ biến cho “mỗi người lập trình” trên thế giới Thế mạnh tuyệt đối của ANSI/ISO C++:  Lập trình hướng đối tượng  Lập trình tổng quát (template)  Lập trình toán học (dữ liệu trừu tượng và nạp chồng toán tử) 5Object-oriented programming 3. Các mở rộng của C++  Các từ khóa mới của C++  Cách ghi chú thích  Dòng nhập/xuất chuẩn  Cách chuyển đổi kiểu dữ liệu  Vị trí khai báo biến  Các biến const  Struct, union và enum  Toán tử định phạm vi (scope resolution operator)  Toán tử new và delete  Hàm inline  Các giá trị tham số mặc định  Phép tham chiếu  Phép đa năng hóa (Overloading) 6Object-oriented programming Các từ khóa mới của C++ Một số từ khóa (keyword) mới đã được đưa vào C++ ngoài các từ khóa có trong C. 7Object-oriented programming Cách ghi chú thích C++ chấp nhận hai kiểu chú thích.  C là /*…*/  C++ là //…  VD: /*Chương trình in các số từ 0 đến 9.*/ #include int main() { int i; for(i = 0; i < 10 ; ++ i) // 0 - 9 cout Dòng nhập/xuất chuẩn Trong C: printf() và scanf(). Trong C++: cout và cin. Ví dụ: Nhập vào hai số. Tính tổng và hiệu của hai số. #include int main(){ int X, Y; cout>X; cout>Y; cout Cách chuyển đổi kiểu dữ liệu Hình thức chuyển đổi kiểu trong C tương đối tối nghĩa C++ có cách chuyển đổi kiểu giống như một lệnh gọi hàm. #include int main(){ int X = 200; long Y = (long) X; //Chuyển đổi kiểu theo cách của C long Z = long(X); // Chuyển đổi kiểu theo cách của C++ cout Vị trí khai báo biến Trong C:  Tất cả các khai báo toàn cục phải đặt trước tất cả các hàm  Các khai báo cục bộ phải đặt trước tất cả các lệnh. Ngược lại trong C++:  Cho phép khai báo linh hoạt bất kỳ vị trí nào  Có thể xen kẽ khai báo dữ liệu với các câu lệnh thực hiện. 11Object-oriented programming1: #include 18: case ‘-’:2: int main() 19: cout Kiểu struct Trong C++: tên của struct và union giống như khai báo bằng lệnh typedef.  Trong C: struct Complex{ float Real; float Imaginary; }; ………………….. struct Complex C;  Trong C++, vấn đề trở nên đơn giản hơn: struct Complex{ float Real; float Imaginary; }; ………………….. Complex C; 13Object-oriented programming Toán tử định phạm vi (scope resolution operator) Ký hiệu là :: Dùng truy xuất một phần tử bị che bởi phạm vi hiện thời. #include int X = 5; int main() { int X = 16; cout Toán tử new và delete C cấp phát động bộ nhớ dùng hàm thư viện như malloc(), calloc() và free(). C++ dùng hai toán tử new và deleteVD: Cấp phát vùng nhớ động của C VD: Cấp phát vùng nhớ động của C++ int *P; int *P; P = malloc(sizeof(int)); P = new int; if (P==NULL) if (P==NULL) printf(Khong con du bo cout Toán tử new và delete (tt) Toán tử new thay thế cho hàm malloc(), calloc() của C có cú pháp:  new type_name  new type_name initializer Trong đó :  type ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: