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: 12
Lượt tải: 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 ...
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ìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình hướng đối tượng Lập trình hướng đối tượng Các mở rộng của C++ Ngôn ngữ C++ Lựa chọn ngôn ngữ C++ Chuyển đổi kiểu dữ liệuTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 316 0 0 -
101 trang 211 1 0
-
14 trang 141 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 129 0 0 -
150 trang 108 0 0
-
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 104 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 103 0 0 -
265 trang 93 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 86 0 0 -
33 trang 74 0 0