mở đầu. Giới thiệu một môi trường viết mã nguồn khác với Turbo C++ 3. Với dung lượng của bộ cài đặt đủ nhỏ, có giao diện bất mắt, chạy tốt trên các hệ điểu hành Windows đang được dùng phổ biến nhất hiện nay, như Windows 7, Windows 8. Hướng dẫn cách làm việc với phần mềm truyền thống, Turbo C++ 3,0 để viết và thử nghiệm các chương trình.
Chương này cũng trình bày sơ lược về các phương pháp lập trình. Trình bày các khả năng mới trong việc xây dựng và sử dụng hàm trong C++ như: biến tham chiếu, đối có kiểu tham chiếu, đối có giá trị mặc định, hàm trực tuyến, hàm trùng tên, hàm toán tử. Trình bày khái niệm trung tâm của lập trình hướng đối tượng là lớp, gồm: định nghĩa lớp, khai báo các biến, mảng đối tượng, phương thức, dùng con trỏ this trong phương thức, phạm vi truy xuất của các thành phần, các phương thức toán tử. Trình bày các vấn để tạo dựng, sao chép, huỷ bỏ các đối tượng và các vấn để khác có liên quan như: hàm tạo, hàm tạo sao chép, hàm huỷ, toán tử gán, cấp phát bộ nhớ cho đối tượng, hàm bạn, lớp bạn.
Trình bày khái niệm quan trọng tạo nên khả năng mạnh của lập trình hướng đối tượng trong việc phát triển, mở rộng phần mềm, đó là khả năng thừa kế của các lớp. Trình bày một khái niệm quan trọng khác cho phép xử lý các vấn để khác nhau, các thực thể khác nhau, các thuật toán khác nhau theo cùng một lược đổ thống nhất, đó là tính tương ứng bội và phương thức ảo. Các công cụ này cho phép dễ dàng tổ chức chương trình quản lý nhiều dạng đối tượng khác nhau. Trình bày các thao tác trên tệp như: tạo một tệp mới, ghi dữ liệu từ bộ nhớ lên tệp, đọc dữ liệu từ tệp vào bộ nhớ.
Trình bày về việc tổ chức vào/ra trong C++. C++ đưa vào một khái niệm gọi là các dòng tin (Stream). Các thao tác vào/ra sẽ thực {6} hiện trao đổi đữ liệu giữa bộ nhớ với dòng tin: Vào là chuyển dữ liệu từ dòng nhập vào bộ nhớ, ra là chuyển dữ liệu từ bộ nhớ lên dòng xuất, Để nhập xuất dữ liệu trên một thiết bị cụ thể nào, ta chỉ cần gắn dòng nhập xuất với thiết bị đó. Việc tổ chức vào ra theo cách như vậy là rất khoa học và tiện lợi vì nó có tính độc lập thiết bị.
Trình bày các hàm đổ họa sử dụng trong C++. Các hàm này được sử dụng rải rác trong toàn bộ cuốn sách để xây dựng các đối tượng đổ họa. Trình bày các hàm truy xuất trực tiếp vào bộ nhớ của máy tính, trong đó có bộ nhớ màn hình. Các hàm này sẽ được sử dụng trong việc xây dựng các lớp menu và cửa số, Chương 11.
Giới thiệu một số chương trình tương đối hoàn chỉnh nhằm minh hoa thém khả năng và kỹ thuật lập trình hướng đối tượng trên C++. Trình bày thêm một số chương trình hướng đối tượng trên C++. Đây là các chương trình tương đối phức tạp, hữu ích và sử dụng các công cụ mạnh của C++. Trình bày các phép toán trong C++ và thứ tự tu tiên của chúng.
Liệt kê danh sách các từ khoá của C++. Trình bày bảng mã ASCII và mã quét của các ký tự. Trình bày một cách ngắn gọn phương pháp phân tích, thiết kế và lập trình hướng đối tượng trên bình điện chung. Trình bày một số chương trình minh họa thuật toán đệ quy kiểu quay lui và thuật toán quy hoạch động có tính chất kinh điển.
Trong quá trình viết, chúng tôi đã hết sức cố gắng để cuốn sách được hoàn _ chỉnh, song chắc chắn không tránh khôi thiếu sót. Vì vậy, rất mong nhận được sự góp ý của độc giả để cuốn sách ngày càng được hoàn thiện hơn. Cac tac gia Ghi chú: Mã nguồn các chương trình trong cuốn sách này chỉ có thể chính thúc được tải về từ website của Nhà sách Huy Hoàng tại: www.vn {7} CODE::BLOCKS Chuong nay sẽ giới một môi trường viết tmã nguồn khác với Turbo C++ 3.0 kinh điển, đó là Code::Blocks - nó có dung lượng nhỗ gọn, thân thiện trong viết mã, tích hợp trình biên dịch và có giao diện bắt rmắt, chạy tốt trên hệ điều hành Windows 7, Windows 8. GIỚI THIỆU Turbo C++ 3.0 là môi trường kinh điển viết mã nguồn, biên dịch và chạy các chương trình đối với ngôn ngữ lập trình C++.
Nó có tính lịch sử và rất thích hợp đối với dạy và học. Các chương trình trong cuốn sách này đều được tht nghiém trén Turbo C++ 3. Tuy nhiên, hiện nay hệ điểu hành Windows 7, Windows 8 của hãng Microsoft được sử dụng rộng rãi. Việc chạy Turbo C++ 3.0 với màn hình màu xanh trên hệ điểu hành này ít nhiều có tính cổ hủ.
Chính vì thế, chúng tôi chọn và giới thiệu thêm một môi trường viết mã, tích hợp biên dịch và chạy khác với Turbo C++ 3.0 truyền thống, đó là Code::Blocks. Các chương trình trong cuốn sách này chạy trên Code:Blocks hoàn toàn tốt, chỉ có một vài khác biệt nhỏ không đáng kể. Khi biên dịch và chạy chương trình, nếu có lỗi chúng ta dễ dàng phát hiện sửa, ví dụ: trong Code::Blocks, lệnh c1zscr () ; không khả dụng, chúng ta xóa hoặc ghi chú đòng lệnh này, thì mã nguồn lại chạy bình thường. Code::Blocks có đặc điểm là mã nguồn mở và miễn phí.
Nó có giao diện đẹp và thân thiện hơn nhiều so với Turbo C++ 3.0 và nó cũng có dung lượng đỗ nhỏ nếu so với Visual Studio của Microsoft, $2. CÀI ĐẶT Code::Blocks The open source, cross-platform IDE 13.12 {8} Lập trình C++ Phiên bán Code::Blocks chúng tôi dùng ở đây là bản 13. Các phiên bản khác, việc cài đặt hoàn toàn tương tự. Sau khi chạy tệp cài đặt.
Các hộp thoại của tiến trình cài đặt hiện ra, để mặc định các thông số, lan luot chon Next > I Agree > Next > Install > No > Next > Finish. SU DUNG CO BAN 1. Tạo mới một tệp chương trình - Khởi động Code::Blocks. - Vao File > New > Empty file.
Hoặc kích chuột trái vào các biểu tượng tương ứng. Hoặc sử dụng tổ hợp phím Ctrl + Shift + N. - Viết mã nguồn của chương trình. - Biên dịch và chạy chương trình: Vào Build > Build and run.
Hoặc kích chuột trái vào biểu tượng tương ứng trên thanh công cụ. Hoặc sử dụng phím F9, Xem hình đưới đây. § mainc [leleWord] 2C File Edit View Search Project Buld Bebug fFottn 'wwSmilh- Took :Tools+ ‘Plugins Do) 2 (Pal81 oD) MB GL RY SG @ Gi losin w|i Tạo tệp mới “1s ew file “{ Bưild anc run PC VỆ Dịch và chạy =z ude <erd.h> a HelloWorld 5-2 Sources ) maine int main() { prảntf (“Hel1o world!\n"); (O @ sớn return 0; Viết mã “{ 2. Mở một tệp chương trình có sẵn - Khởi động Code::Blocks.
- Vào File > Open. Hoặc kích chuột trái vào biểu tượng Open trên thanh công cụ. Hoặc dùng phím tắt CtrÌ + O. - Chọn đến thư mục và tệp cần mở và chọn Open.
{9} _ Lập trình Crt | C++ & LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Trong chương này trình bày các vấn đê sau: - Cách sử dụng phần tiêm TC++ 3. - Những sửa đối cẩn thiết một chương trình C để biển nó thành một chương trình C++ (chạy được trong môi trường C++). ~ Tom lược về các phương pháp lập trình cấu trúc và lập trình hướng đối tượng. - Những mở rộng của C++ so với C.0 Các ví dụ trong cuốn sách này sẽ viết và thực hiện trên môi trường TC++ 3.
Bộ cài đặt TC++ 3. Sau khi cài đặt (giả sử vào thư mục C;\VTC) thì trong thư mục TC sẽ gồm các thư mục con sau: CATCABGT chứa các tệp đuôi BGI và CHR C:\XTOXBN chứa các tệp chương trình (đuôi EXE) như TC, TCC, TLIB, TLINK C\ITCMWNCLUDE chứa các tệp tiêu để đuôi H CATC\LIB chứa các tệp đuôi LIB, OBJ Để vào môi trường của TC++ chỉ cần thực hiện tệp chương trình TC trong thu muc C:\TC\BIN. Kết quả nhận được hệ menu chính của T++ với mau „ nền xanh gần giống như hệ menu quen thuộc của TC (Turbo C). Hệ menu của TC++ gồm các menu: File, Edit, Search, Run, Compile, Debug, Project, Options, Window, Help.
Cách soạn thảo, biên dịch và chạy chương trình trong TC++ cũng giống như trong TC, ngoại trừ điểm sau: Tệp chương trình trong hệ soạn thảo của TC++ có đuôi mặc định là CPP còn trong TC thì tệp chương trình luôn có đuôi C. Trong TC++ có thể thực hiện cả chương trình C và C++. Để thực hiện chương trình C cần dùng đuôi C để đặt tên cho tệp chương trình, để thực hiện chương trình C++ cần dùng đuôi CPP để đặt tên cho tệp chương trình. {10} Lập trình C++ §2, C++ VÀ C - Có thể nói C++ là sự mở rộng (đáng kể) của C.
Điều đó có nghĩa là mọi khả năng, mọi khái niệm trong C đều dùng được trong C++. - Vi trong C++ sti dung gần như toàn bộ các khái niệm, định nghĩa, các kiểu dữ liệu, các cấu trúc lệnh, các hàm và các công cụ khác của C, nên yêu cầu bắt buộc đối với các độc giá C++ là phải biết sử dụng tương đối thành thạo ngôn ngữ C. : - Vì C++ là sự mở rộng của C, nên bản thân một chương trình C đã là chương trình C++ (chỉ cần thay đuôi C bằng đuôi CPP). Tuy nhiên Trình biên địch TC++ yêu cẩu mọi hàm chuẩn dùng trong chương trình đều phải khai báo nguyên mẫu bằng một câu lệnh #include, trong khi điều này không bắt buộc đối với Trình biên địch của TC.
Trong C có thể dùng một bàm chuẩn mà bỏ qua câu lệnh #include để khai báo nguyên mẫu của hàm được dùng. Điều này không báo lỗi khi biên dịch, nhưng có thể dẫn đến kết quả sai khi chạy chương trình. Ví dụ khi biên dịch chương trình sau trong môi trường C sẽ không gặp các dòng cảnh báo (warning) và thông báo lỗi (error). Nhưng khi chạy sẽ nhận được kết quả sai.h> void main() { float a, b, c, p, S} printf (“\nNhap a, b, c: `); scant (“S£sfSf", &a, &b, &C)? Pp (a + b +) / 2; t 8 sợgrt(p * (p_- a) * (p- b) *9 @_-C©)); f printf(*\nDien tich = 30.2Ê”, s8); ` getch (); } Nếu biên dịch chương trình này trong TC++ sẽ nhận được các thông báo lỗi sau: Eror: Funtion ‘sqrt’ should have a prototype Eror: Funtion ‘getch’ should have a prototype Để biến chương trình trên thành một chương trình C++ cần: + Đặt tên chương trình với đuôi CPP + Thêm 2 câu lệnh #include để khai báo nguyên mẫu cho các hàm sgrt, getch: #include <math.
LẬP TRÌNH CẤU TRÚC & LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 3.