Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Kỹ thuật lập trình [20160625] c++ lập trình hướng đối tượng sửa lần 4...

Tài liệu [20160625] c++ lập trình hướng đối tượng sửa lần 4

.DOCX
147
291
109

Mô tả:

tài liệu C++ hay nhất
TÀI LIỆU C++ Lập Trình Hướng Đối Tượng Loại: Nội bộ THÔNG TIN VỀ TÀI LIỆU Mã số HDE – 01.01 Người khởi CanhLV tạo Lần sửa đổi Người xem xét 4 SyNX Thông tin cập nhật Tình trạng Ngày Mục (Thêm/Sửa/X Nội dung Phiên bản óa) 25/06/2016 1 Sửa 1.4 Người viết CanhLV 1 Mục Lục 1. Cơ bản về C++................................................................................................7 2. Biến và các kiểu dữ liệu..................................................................................8 3. 2.1. Định nghĩa biến........................................................................................8 2.2. Khai báo biến:..........................................................................................8 2.3. Phạm vi tác dụng của biến:......................................................................9 2.4. Khởi tạo giá trị cho biến:.........................................................................9 2.5. Kiểu dữ liệu:...........................................................................................10 Hằng..............................................................................................................11 3.1. Khái niệm...............................................................................................11 3.2. Phân loại.................................................................................................11 3.2.1. Hằng số nguyên................................................................................11 3.2.2. Hằng số thực.....................................................................................11 3.2.3. Hằng ký tự.........................................................................................11 3.2.4. Hằng logic.........................................................................................12 3.3. Định nghĩa 1 hằng..................................................................................12 3.3.1. Định nghĩa bằng #define..................................................................12 3.3.2. Khai báo hằng const.........................................................................13 4. Toán tử...........................................................................................................13 4.1. Toán tử gán.............................................................................................13 4.2. Toán tử thực hiện toán học.....................................................................13 4.3. Toán tử gán hợp nhất..............................................................................14 4.4. Toán tử tăng giảm...................................................................................14 4.5. Toán tử so sánh.......................................................................................15 4.6. Toán tử logic...........................................................................................15 4.7. Toán tử điều kiện....................................................................................15 4.8. Toán tử phân tách...................................................................................16 4.9. Toán tử dịch bit.......................................................................................17 4.10. Toán tử chuyển đổi kiểu dữ liệu.............................................................19 4.11. Thứ tự uu tiên các toán tử......................................................................20 5. Xuất nhập cơ bản..........................................................................................20 2 6. 5.1. Xuất dữ liệu chuẩn cout.........................................................................20 5.2. Nhập dữ liệu chuẩn cin..........................................................................21 Các cấu trúc lệnh điều khiển.........................................................................23 6.1. Cấu trúc lệnh có điều kiện: if và else.....................................................23 6.2. Cấu trúc lặp............................................................................................23 6.2.1. Vòng lặp While.................................................................................23 6.2.2. Vòng lặp do..while...........................................................................24 6.2.3. Vòng lặp for......................................................................................24 6.3. Các câu lệnh nhảy..................................................................................25 6.3.1. Câu lệnh Break.................................................................................25 6.3.2. Câu lệnh continue.............................................................................25 6.3.3. Lệnh goto..........................................................................................26 6.3.4. Lệnh exit...........................................................................................26 6.4. 7. 8. 9. Cấu trúc lựa chọn...................................................................................27 Hàm...............................................................................................................28 7.1. Khai báo và sử dụng hàm.......................................................................29 7.2. Tham biến và tham trị............................................................................32 7.3. Giá trị mặc định của tham số hình thức.................................................33 7.4. Chồng chất hàm......................................................................................34 7.5. Hàm nội tuyến........................................................................................35 7.6. Hàm đệ quy............................................................................................36 Các kiểu dữ liệu có cấu trúc..........................................................................37 8.1. Mảng một chiều......................................................................................37 8.2. Mảng nhiều chiều...................................................................................37 8.3. Mảng giả nhiều chiều.............................................................................38 Con trỏ...........................................................................................................41 9.1. Toán tử tham chiều &.............................................................................41 9.2. Toán tử tham chiều ngược *...................................................................43 9.3. Khai báo biến con trỏ:............................................................................43 9.4. Con trỏ, mảng và xâu ký tự....................................................................45 9.5. Các phép toán số học trên con trỏ..........................................................46 9.5.1. Phép cộng và phép trừ......................................................................46 3 9.5.2. Toán tử tham chiếu ngược và toán tử tăng giảm..............................47 9.6. Con trỏ trỏ vào con trỏ...........................................................................47 9.7. Con trỏ Void...........................................................................................49 9.8. Con trỏ null.............................................................................................51 9.9. Con trỏ hàm............................................................................................51 10. Bộ nhớ động...............................................................................................51 10.1. Toán tử new và new[].............................................................................51 10.2. Toán tử delete và delete[].......................................................................52 11. Con trỏ struct và kiểu dữ liệu struct..........................................................53 11.1. Struct.......................................................................................................53 11.2. Con trỏ struct..........................................................................................54 11.3. Struct lồng nhau.....................................................................................56 11.4. Kích thước bộ nhớ struct........................................................................57 12. Các kiểu dữ liệu khác................................................................................59 12.1. Kiểu dữ liệu tự định nghĩa.....................................................................59 12.2. Kiểu dữ liệu union thường.....................................................................59 12.3. Kiểu dữ liệu union ẩn danh....................................................................60 12.4. Kiểu dữ liệu enum..................................................................................61 13. Lập trình hướng đối tượng........................................................................62 13.1. Lịch sử hình thành..................................................................................62 13.2. Lớp và đối tượng....................................................................................65 13.3. Hàm tạo và hàm hủy..............................................................................69 13.4. Chồng chất tạo hàm................................................................................71 13.5. Sao chép hàm tạo...................................................................................73 13.6. Tính đóng gói – Encapsulation..............................................................79 13.7. Con trỏ đối tượng...................................................................................80 13.8. Lớp được khai báo nhờ từ khóa Struct và Union..................................81 13.9. Con trỏ this.............................................................................................82 13.10. Thành viên tĩnh – Từ khóa static........................................................84 13.11. Hàm bạn và lớp bạn............................................................................86 13.12. Chồng chất toán tử..............................................................................88 13.13. Tính kế thừa – Inheritance..................................................................90 4 13.14. Các mức truy cập................................................................................94 13.15. Tính đa kế thừa – Multiple Inheritance..............................................94 13.16. Tính đa hình – Polymorphism............................................................97 13.16.1. Con trỏ trỏ vào lớp cơ sở..............................................................97 13.16.2. Thành viên ảo...............................................................................99 13.16.3. Lớp cơ sở trừu tượng..................................................................103 13.17. Tính trừu tượng hóa – Abstraction...................................................103 13.18. Hàm mẫu – Template Function........................................................103 13.19. Lớp mẫu – Template class................................................................104 13.20. Tổng kết về lập trình hướng đối tượng............................................105 14. Namespace...............................................................................................105 14.1. Từ khóa namespace..............................................................................105 14.2. Từ khóa using.......................................................................................107 14.3. Phạm vi của namespace.......................................................................109 14.4. Tái định danh cho namespace..............................................................109 14.5. Namespace std......................................................................................109 15. Ngoại Lệ..................................................................................................109 15.1. Mệnh đề try…catch..............................................................................109 15.2. Mệnh đề throw......................................................................................110 15.3. Thư viện chuẩn exception....................................................................110 16. Làm việc với File.....................................................................................112 16.1. Mở File.................................................................................................112 16.2. Đóng File..............................................................................................114 16.3. File văn bản..........................................................................................114 16.4. Kiểm tra trạng thái của các cờ hiệu......................................................115 16.5. Con trỏ get và put.................................................................................115 16.6. File nhị phân.........................................................................................117 16.7. Bộ đệm và Đồng bộ hóa.......................................................................119 17. Các lớp thư viện.......................................................................................119 17.1. Lớp số phức complex...........................................................................119 17.2. Lớp ngăn xếp stack..............................................................................122 17.3. Lớp hàng đợi queue..............................................................................123 5 17.4. Lớp vector............................................................................................124 17.5. Lớp String.............................................................................................127 17.6. Lớp List................................................................................................130 17.7. Lớp map................................................................................................131 17.8. Lớp set..................................................................................................132 17.9. Lớp thư viện nhập xuất........................................................................132 Danh mục bảng biểu............................................................................................136 Danh mục hình ảnh.............................................................................................137 Tài Liệu Tham Khảo...........................................................................................138 6 1.Cơ bản về C++ Cấu trúc một chương trình C++ Gồm có:  Khai báo thư viện với cú pháp : #include.  Hàm chính của chương trình: main(){}.  Trong hàm main là các hàm con hoặc các câu lệnh thực hiện.  Ngoài hàm main ta có thể viết các hàm con, trong hàm main để sử dụng chúng ta chỉ cần gọi lại chúng. Ví dụ chương trình đơn giản: // Những dòng đứng sau “//” thì sẽ là dòng coment nó không có giá tr ị trong hàm chỉ có giá trị chỉ dẫn người đọc #include // Khai báo thư viện using namespace std;// //Hàm chính int main(){ cout <<”Hello World!”; //câu lệnh return 0;//câu lệnh liên quan đến kiểu trả về của hàm phụ thuộc vào t ừ khóa trước hàm main } Một số lưu ý:  Cũng như C, C++ là ngôn ngữ phân biệt chữ hoa và chữ thường.  Kết thúc một dòng lệnh trong C++ bao giờ cũng phải có dấu “;”.  Các dấu () hay {} nó cũng đi cùng cặp cùng cấp chính vì thế viết chương trình nên sử dụng các dấu cho phù hợp để phân 7 biệt được phạm vi ảnh hưởng của các khối lệnh hoặc có thể bôi đen  chuột phải  Format this file(AStyle). 2.Biến và các kiểu dữ liệu 2.1. Định nghĩa biến  Biến: Được dùng để lưu giá trị và nó có thể thay đổi được, một biến sẽ được quy định bởi một kiểu dữ liệu nào đó. 2.2. Khai báo biến: ; Ví dụ: int a; double b; bool c; int a,b,c;// khai báo 3 biến a,b,c cùng kiểu int Chú ý:  Nếu khai báo biến thuộc các kiểu nguyên mà ta không sử dụng khai báo có dấu (signed) hoặc không dấu (unsinged) thì chương trình mặc định là kiểu nguyên có dấu. Ví dụ: int a;  signed int a;  Đối với kiểu char thì ngoại lệ. Chúng ta nên khai báo tường minh là signed char hoặc unsinged char.  Hàm sizeof để xác định kích thước kiểu dữ liệu. Cú pháp sizeof (tên biến) hoặc sizeof (kiểu dữ liệu) . Ví dụ: 8 #include using namespace std; int main(){ int a; cout< < tên biến> = giá_trị_khởi_tạo; Hoặc (giá_trị_khởi_tạo); Khởi tạo giá trị biến tĩnh static: Một biến khởi tạo bằng từ khóa static thì chỉ khởi tạo giá trị đúng một lần khi biến được tạo ra. Thông thường những biến này 9 được đặt trong một tiêu tệp tiêu đề .h để sử dụng cho toàn bộ chương trình. Ví dụ: #include using namespace std; int main(){ for(int i=0;i<5;i++){ static int x=2; x++; cout< = gia_tri; Ví dụ: const int a =10; const char x = ‘a’; 4. Toán tử 4.1. Toán tử gán Là toán tử gán giá trị của 1 biến theo nguyên tắc phải sang trái: Giá trị biến ở vế trái thay đổi còn giá trị biến vế phải không đổi. 13 Ví dụ: int a =5; int b =2; int c = a+b; 4.2. Toán tử thực hiện toán học Hình 4-5: Toán tử toán học  Các phép + , -, * thực hiện như trong toán. Lưu ý: Phép chia “/”. Ta có 5/4 => Kết quả là: 1. Nếu muốn kết quả 5/4 = 1.25 ta phải viết . (float)5/4. Còn phép %: 9%5 = 4. 14 4.3. Toán tử gán hợp nhất “ Hình 4-6: Toán tử gán hợp nhất 4.4. Toán tử tăng giảm Hình 4-7: Toán tử tăng giảm Ví dụ: int a = 2; int b =3; a+ = b++;// kết quả sẽ là: a=2,b=2; a+ = ++b; kết quả: a = 3,b = 2 15 4.5. Toán tử so sánh Hình 4-8: Toán tử so sánh 4.6. Toán tử logic Hình 4-9: Toán tử logic 4.7. Toán tử điều kiện Cú pháp: (biểu_thức_đk)?(kq_1): (kq_2); 16 Ví dụ: int a =3; int b =5; int max =(a>b)?a:b; cout <b đúng thì max = a còn sai thì max = b; Lưu ý: kq_1 và kq_2 có thể là một câu lệnh và câu lệnh hoặc một hàm. Câu lệnh thì không có dấu “;”. 4.8. Toán tử phân tách Toán tử này ký hiệu là dấu phẩy, dùng để phân tách hai hay nhiều biểu thức chứa trong một biểu thức phức hợp tương ứng Ví dụ: int a; int b; int c; c = (a=1,b=2,c=a+b); cout < - Xem thêm -