
http://vietjack.com/cplusplus/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 1
Mục lục
Học C++ cơ bản và nâng cao ............................................................................................... 9
Đối với độc giả ...................................................................................................................... 9
Điều kiện tiền đề ................................................................................................................... 9
Tổng quan về C++ ................................................................................................................ 9
Lập trình hướng đối tượng .............................................................................................. 10
Thư việc chuẩn C++ (C++ Standard Library) .................................................................. 10
ANSI Standard ................................................................................................................ 10
Học tập C++ như thế nào? ............................................................................................. 10
Miền sử dụng của C++ ................................................................................................... 11
Cài đặt môi trường C++ ...................................................................................................... 11
Cài đặt môi trường nội bộ cho C++ ................................................................................. 11
Text Editor ...................................................................................................................... 11
C++ Compiler: ................................................................................................................ 11
Cài đặt GNU C/C++ Compiler ......................................................................................... 12
Cài đặt trên UNIX/Linux .................................................................................................. 12
Cài đặt trên Mac OS X .................................................................................................... 12
Cài đặt trên Windows ...................................................................................................... 12
Cú pháp C++ cơ bản .......................................................................................................... 13
Cấu trúc chương trình C++ ............................................................................................. 13
Biên dịch và thực thi chương trình C++ ........................................................................... 14
Dấu chấm phảy và khối (block) trong C++ ...................................................................... 15
Định danh (Identifier) trong C++ ...................................................................................... 16
Từ khóa trong C++ ......................................................................................................... 16
Trigraph trong C++ .......................................................................................................... 17
Khoảng trắng (Whitespace) trong C++ ............................................................................ 18
Comment trong C++ ........................................................................................................... 19
Kiểu dữ liệu trong C++ ........................................................................................................ 20

http://vietjack.com/cplusplus/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 2
Kiểu dữ liệu nguyên thủy trong C++ ................................................................................ 20
Khai báo typedef trong C++ ............................................................................................ 23
Kiểu liệt kê enum trong C++ ............................................................................................ 24
Kiểu biến trong C++ ............................................................................................................ 24
Định nghĩa biến trong C++ .............................................................................................. 25
Khai báo biến trong C++ ................................................................................................. 26
Ví dụ ............................................................................................................................... 27
Lvalue và Rvalue trong C++ ............................................................................................ 28
Phạm vi biến trong C++ ...................................................................................................... 29
Biến cục bộ trong C++ .................................................................................................... 29
Biến toàn cục trong C++ ................................................................................................. 30
Khởi tạo biến cục bộ và biến toàn cục trong C++ ............................................................ 31
Hằng (Constant/Literal) trong C++ ...................................................................................... 32
Hằng số nguyên trong C++ ............................................................................................. 32
Hằng số thực trong C++ ................................................................................................. 33
Boolean literal trong C++ ................................................................................................. 33
Hằng ký tự trong C++ ..................................................................................................... 34
Hằng chuỗi trong C++ ..................................................................................................... 35
Định nghĩa hằng trong C++ ............................................................................................. 36
Sử dụng bộ tiền xử lý #define trong C++ ......................................................................... 36
Sử dụng từ khóa const trong C++ ................................................................................... 37
Modifier trong C++ .............................................................................................................. 37
Qualifier trong C++ .......................................................................................................... 39
Lớp lưu trữ (Storage Class) trong C++ ................................................................................ 39
Lớp lưu trữ auto trong C++ ............................................................................................. 40
Lớp lưu trữ register trong C++......................................................................................... 40
Lớp lưu trữ static trong C++ ............................................................................................ 41
Lớp lưu trữ extern trong C++ .......................................................................................... 42
Lớp lưu trữ mutable trong C++ ....................................................................................... 43

http://vietjack.com/cplusplus/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 3
Toán tử trong C++ .............................................................................................................. 43
Toán tử số học trong C++ ............................................................................................... 44
Toán tử quan hệ trong C++ ............................................................................................ 45
Toán tử logic trong C++ .................................................................................................. 45
Toán tử so sánh bit trong C++ ........................................................................................ 46
Toán tử gán trong C++ ................................................................................................... 49
Các toán tử hỗn hợp trong C++ ...................................................................................... 51
Thứ tự ưu tiên toán tử trong C++ .................................................................................... 52
Vòng lặp trong C++ ............................................................................................................. 53
Các lệnh điều khiển vòng lặp trong C++ .......................................................................... 55
Vòng lặp vô hạn trong C++ ............................................................................................. 55
Điều khiển luồng trong C++ ................................................................................................ 56
Toán tử điều kiện ? : trong C++ ....................................................................................... 57
Hàm trong C++ ................................................................................................................... 57
Định nghĩa một hàm trong C++ ....................................................................................... 58
Ví dụ ............................................................................................................................... 59
Khai báo hàm trong C++ ................................................................................................. 59
Gọi hàm trong C++ ......................................................................................................... 60
Tham số của hàm trong C++: ......................................................................................... 61
Giá trị mặc định cho các tham số trong C++ .................................................................... 62
Number trong C++ .............................................................................................................. 63
Định nghĩa Number trong C++ ........................................................................................ 63
Hàm toán học trong C++ ................................................................................................ 65
Số ngẫu nhiên (Random Number) trong C++ ................................................................. 67
Mảng (Array) trong C++ ...................................................................................................... 68
Khai báo mảng trong C++ ............................................................................................... 69
Khởi tạo mảng trong C++ ............................................................................................... 69
Truy cập các phần tử mảng trong C++ ........................................................................... 70
Chi tiết về mảng trong C++ ............................................................................................. 71

http://vietjack.com/cplusplus/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 4
Chuỗi (String) trong C++ ..................................................................................................... 72
Chuỗi theo phong cách C ............................................................................................... 72
Lớp String trong C++ ...................................................................................................... 75
Con trỏ trong C++ ............................................................................................................... 76
Con trỏ là gì? .................................................................................................................. 77
Cách sử dụng con trỏ trong C++ ..................................................................................... 78
Chi tiết về con trỏ trong C++ ............................................................................................ 79
Tham chiếu trong C++ ........................................................................................................ 79
Tham chiếu và con trỏ trong C++ .................................................................................... 80
Tạo tham chiếu trong C++ .............................................................................................. 80
Date và Time trong C++ ...................................................................................................... 82
Date và Time hiện tại trong C++ ...................................................................................... 84
Định dạng Time bởi sử dụng cấu trúc tm trong C++ ....................................................... 85
Input/Output trong C++ ....................................................................................................... 86
Header file cho I/O trong C++ .......................................................................................... 86
Standard Output Stream (cout) trong C++ ...................................................................... 87
Standard Input Stream (cin) trong C++ ............................................................................ 87
Standard Error Stream (cerr) trong C++ .......................................................................... 88
Standard Log Stream (clog) trong C++ ........................................................................... 89
Cấu trúc dữ liệu trong C++ .................................................................................................. 90
Định nghĩa một cấu trúc trong C++ ................................................................................. 90
Truy cập các thành viên của cấu trúc trong C++ ............................................................. 91
Cấu trúc như là tham số hàm trong C++ ......................................................................... 93
Con trỏ tới cấu trúc trong C++ ......................................................................................... 94
Từ khóa typedef trong C++ ............................................................................................. 97
Lớp và Đối tượng trong C++ ............................................................................................... 97
Định nghĩa Lớp trong C++ .............................................................................................. 98
Định nghĩa Đối tượng trong C++ ..................................................................................... 98
Truy cập các thành viên dữ liệu trong C++ ...................................................................... 99

http://vietjack.com/cplusplus/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 5
Chi tiết về Lớp & Đối tượng trong C++ .......................................................................... 100
Tính kế thừa trong C++ ..................................................................................................... 101
Lớp cơ sở (Base Class) và Lớp thừa kế (Derived Class) trong C++ ............................. 102
Điều khiển truy cập và Tính kế thừa trong C++ ............................................................. 103
Kiểu kế thừa trong C++ ................................................................................................. 104
Đa kế thừa trong C++ ................................................................................................... 105
Nạp chồng toán tử và Nạp chồng hàm trong C++ ............................................................ 107
Nạp chồng hàm trong C++ ........................................................................................... 107
Nạp chồng toán tử trong C++ ....................................................................................... 109
Toán tử có thể nạp chồng và không thể nạp chồng trong C++ ...................................... 112
Ví dụ về Nạp chồng toán tử trong C++ .......................................................................... 112
Đa hình trong C++ ............................................................................................................ 113
Hàm virtual trong C++ ................................................................................................... 116
Hàm pure virtual trong C++ ........................................................................................... 116
Trừu tượng hóa dữ liệu trong C++ .................................................................................... 117
Nhãn truy cập (Access Label) trong C++....................................................................... 118
Lợi ích của Trừu tượng hóa dữ liệu trong C++ .............................................................. 119
Ví dụ về Trừu tượng hóa dữ liệu trong C++ .................................................................. 119
Chiến lược thiết kế trong C++ ....................................................................................... 120
Tính đóng gói dữ liệu trong C++ ........................................................................................ 121
Ví dụ về Đóng gói dữ liệu trong C++ ............................................................................. 122
Chiến lược thiết kế trong C++ ....................................................................................... 123
Interface trong C++ (Lớp trừu tượng) ................................................................................ 123
Ví dụ về Lớp trừu tượng trong C++ ............................................................................... 124
Chiến lược thiết kế trong C++ ....................................................................................... 127
File và Stream trong C++ .................................................................................................. 127
Mở một File trong C++ .................................................................................................. 128
Đóng một File trong C++ ............................................................................................... 129
Viết tới một File trong C++............................................................................................. 129

