Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Beginning C++ Programming - From Beginner to Beyond

Lập trình C++ từ đầu - Từ cơ bản đến nâng cao

Lập trình C++ từ đầu - Từ cơ bản đến nâng cao

Nắm vững kỹ năng Lập trình Hướng đối tượng (OOP) và STL trong C++ hiện đại. Bao gồm C++14 và C++17. Thông tin C++20 xem bên dưới.

4.6
(80,042 đánh giá)
356,974 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 419.000đ -81%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
46.0 giờ video
305 bài giảng
65 bài quiz
46 bài coding
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 09/10/2026

Bạn sẽ học được gì

Học lập trình với một trong những ngôn ngữ mạnh mẽ nhất hiện nay - C++.
Hiểu các khái niệm lập trình cốt lõi có thể áp dụng cho các ngôn ngữ lập trình khác
Học C++ hiện đại thay vì phiên bản lỗi thời mà hầu hết khóa học khác vẫn dạy
Học các tính năng C++ từ cơ bản đến nâng cao như kế thừa và hàm đa hình
Học C++ theo giáo trình đã được kiểm chứng, bao quát nhiều kiến thức hơn hầu hết khóa học C++ đại học
Học C++ từ một giáo sư đại học giàu kinh nghiệm, đã sử dụng và giảng dạy C++ hơn 25 năm
Bao gồm Câu hỏi trắc nghiệm, Bài tập Lập trình trực tiếp, Bài tập Thử thách và Bài tập lớn
Phần mới: Học cách sử dụng Visual Studio Code với C++
Phần mới: Tìm hiểu toàn diện về Biểu thức Lambda trong C++

Yêu cầu

Cần máy tính chạy Windows, Mac OS X hoặc Linux

Đối tượng phù hợp

Khóa học hoàn hảo cho người mới bắt đầu tuyệt đối chưa có kinh nghiệm lập trình, hoặc bất kỳ ai muốn bổ sung C++ vào kỹ năng hiện có.
Dành cho những ai muốn mở rộng cơ hội nghề nghiệp bằng cách học một trong những ngôn ngữ lập trình được săn đón nhất.

Nội dung khóa học

25 phần • 305 bài giảng
1 Về khóa học
2 Tại sao nên học C++?
3 C++ hiện đại và Tiêu chuẩn C++
4 Cách thức hoạt động của khóa học
5 Câu hỏi thường gặp -- Vui lòng đọc!
1 Tổng quan về Cài đặt và Thiết lập
2 Cài đặt Trình biên dịch C++ trên Windows
3 Cài đặt CodeLite trên Windows
4 Cấu hình CodeLite trên Windows
5 Cài đặt Trình biên dịch C++ trên Mac OSX
6 Cài đặt CodeLite trên Mac OSX
7 Cấu hình CodeLite trên Mac OSX
8 Sử dụng giao diện Dòng lệnh
9 Cài đặt CodeLite trên Ubuntu Linux
10 Cấu hình CodeLite trên Ubuntu Linux
11 Tạo Mẫu Dự án CodeLite Mặc định (Tất cả phiên bản)
12 Sử dụng Giao diện Dòng lệnh trên Windows
13 Sử dụng Giao diện Dòng lệnh trên Mac OSX
14 Sử dụng Giao diện Dòng lệnh trên Linux (Ubuntu)
15 Sử dụng Trình biên dịch C++ trên nền web
16 Sử dụng Tài nguyên Mã nguồn đi kèm khóa học
1 Tổng quan Chương trình học
2 Tổng quan về Bài tập Thử thách từng phần
3 Tổng quan về Câu hỏi Trắc nghiệm từng phần
1 Tổng quan phần học
2 Tổng quan về Giao diện CodeLite
3 Viết chương trình đầu tiên
4 Biên dịch chương trình đầu tiên
5 Lỗi Biên dịch là gì?
6 Cảnh báo Biên dịch là gì?
7 Lỗi Liên kết là gì?
8 Lỗi Thời gian chạy là gì?
9 Lỗi Logic là gì?
10 Thử thách phần học
11 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Tổng quan về Cấu trúc chương trình C++
3 Chỉ thị Tiền xử lý #include
4 Chú thích
5 Hàm main()
6 Không gian tên
7 Nhập/Xuất cơ bản (I/O) sử dụng cin và cout
1 Tổng quan phần học
2 Biến là gì?
3 Khai báo và Khởi tạo Biến
4 Biến Toàn cục
5 Kiểu dữ liệu nguyên thủy tích hợp trong C++
6 Kích thước của Biến (sizeof)
7 Hằng số là gì?
8 Khai báo và Sử dụng Hằng số
9 Thử thách phần học
10 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Mảng là gì?
3 Khai báo và Khởi tạo Mảng
4 Truy cập và Sửa đổi Phần tử Mảng
5 Mảng đa chiều
6 Khai báo và Khởi tạo Vector
7 Truy cập và Sửa đổi Phần tử Vector
8 Thử thách phần học
9 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Biểu thức và Câu lệnh
3 Sử dụng Toán tử
4 Toán tử Gán
5 Toán tử Số học
6 Toán tử Tăng và Giảm
7 Biểu thức hỗn hợp và Chuyển đổi kiểu
8 Kiểm tra bằng nhau
9 Toán tử Quan hệ
10 Toán tử Logic
11 Toán tử Gán kết hợp
12 Thứ tự ưu tiên Toán tử
13 Thử thách phần học
14 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Câu lệnh if
3 Câu lệnh if else
4 Câu lệnh if lồng nhau
5 Câu lệnh switch-case
6 Toán tử Điều kiện
7 Vòng lặp
8 Vòng lặp for
9 Vòng lặp for dựa trên phạm vi
10 Vòng lặp while
11 Vòng lặp do while
12 continue và break
13 Vòng lặp vô hạn
14 Vòng lặp lồng nhau
15 Thử thách phần học
16 Giải pháp Thử thách phần học - Phần 1
17 Giải pháp Thử thách phần học - Phần 2
1 Tổng quan phần học
2 Hàm xử lý Ký tự
3 Chuỗi kiểu C
4 Làm việc với Chuỗi kiểu C
5 Chuỗi C++
6 Làm việc với Chuỗi C++
7 Thử thách phần học
8 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Hàm là gì?
3 Định nghĩa Hàm
4 Nguyên mẫu Hàm
5 Tham số Hàm và Câu lệnh return
6 Giá trị Đối số Mặc định
7 Nạp chồng Hàm
8 Truyền Mảng vào Hàm
9 Truyền bằng Tham chiếu
10 Quy tắc Phạm vi
11 Cách thức gọi Hàm hoạt động
12 Hàm inline
13 Hàm Đệ quy
14 Thử thách phần học
15 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Con trỏ là gì?
3 Khai báo Con trỏ
4 Truy cập Địa chỉ Con trỏ và Lưu Địa chỉ trong Con trỏ
5 Truy xuất giá trị qua Con trỏ
6 Cấp phát Bộ nhớ Động
7 Mối quan hệ giữa Mảng và Con trỏ
8 Số học Con trỏ
9 Const và Con trỏ
10 Truyền Con trỏ vào Hàm
11 Trả về Con trỏ từ Hàm
12 Những lỗi tiềm ẩn với Con trỏ
13 Tham chiếu là gì?
14 Giá trị L-value và R-value
15 Sử dụng Trình gỡ lỗi CodeLite IDE
16 Tóm tắt phần học
17 Thử thách phần học
18 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Lập trình Hướng đối tượng là gì?
3 Lớp và Đối tượng là gì?
4 Khai báo Lớp và Tạo Đối tượng
5 Truy cập thành viên Lớp
6 public và private
7 Triển khai Phương thức thành viên
8 Hàm tạo và Hàm hủy
9 Hàm tạo Mặc định
10 Nạp chồng Hàm tạo
11 Danh sách Khởi tạo Hàm tạo
12 Hàm tạo Ủy quyền
13 Tham số Hàm tạo và Giá trị Mặc định
14 Hàm tạo Sao chép
15 Sao chép Nông với Hàm tạo Sao chép
16 Sao chép Sâu với Hàm tạo Sao chép
17 Hàm tạo Di chuyển
18 Con trỏ 'this'
19 Sử dụng const với Lớp
20 Thành viên tĩnh của Lớp
21 Struct so với Class
22 Hàm bạn của lớp
23 Thử thách phần học
24 Giải pháp Thử thách phần học
1 Tổng quan phần học
2 Nạp chồng Toán tử là gì?
3 Nạp chồng Toán tử Gán (sao chép)
4 Nạp chồng Toán tử Gán (di chuyển)
5 Nạp chồng Toán tử như Hàm thành viên
6 Nạp chồng Toán tử như Hàm toàn cục
7 Nạp chồng Toán tử Chèn và Trích xuất Luồng
8 Thử thách phần học
9 Giải pháp Thử thách phần học 1
10 Giải pháp Thử thách phần học 2
1 Tổng quan phần học
2 Kế thừa là gì?
3 Thuật ngữ và Ký hiệu
4 Kế thừa so với Thành phần
5 Kế thừa lớp từ lớp có sẵn
6 Thành viên được bảo vệ và quyền truy cập lớp
7 Hàm tạo và hàm hủy
8 Truyền đối số cho hàm tạo lớp cơ sở
9 Hàm tạo sao chép/di chuyển và toán tử = với lớp dẫn xuất
10 Định nghĩa lại phương thức lớp cơ sở
11 Kế thừa đa cấp
12 Ví dụ Accounts được cập nhật
13 Thử thách phần học
14 Lời giải thử thách phần học
1 Tổng quan phần học
2 Tính đa hình là gì?
3 Sử dụng con trỏ lớp cơ sở
4 Hàm ảo
5 Hàm hủy ảo
6 Sử dụng chỉ định Override
7 Sử dụng chỉ định Final
8 Sử dụng tham chiếu lớp cơ sở
9 Hàm thuần ảo và lớp trừu tượng
10 Lớp trừu tượng như giao diện
11 Thử thách phần học
12 Lời giải thử thách phần học - Phần 1
13 Lời giải thử thách phần học - Phần 2
14 Lời giải thử thách phần học - Hoàn chỉnh
1 Tổng quan phần học
2 Một số vấn đề với con trỏ thô
3 Con trỏ thông minh là gì? Quyền sở hữu và RAII
4 Con trỏ duy nhất
5 Con trỏ chia sẻ
6 Con trỏ yếu
7 Bộ xóa tùy chỉnh
8 Thử thách phần học 1
9 Lời giải thử thách phần học 1
1 Tổng quan phần học
2 Khái niệm cơ bản và ví dụ đơn giản: Chia cho 0
3 Ném ngoại lệ từ hàm
4 Xử lý nhiều ngoại lệ
5 Giải phóng ngăn xếp và cách hoạt động
6 Tạo lớp ngoại lệ do người dùng định nghĩa
7 Ngoại lệ cấp lớp
8 Hệ thống phân cấp lớp std::exception trong C++
9 Thử thách phần học
10 Lời giải thử thách phần học
1 Tổng quan phần học
2 Tệp, luồng và I/O
3 Bộ điều khiển luồng
4 Bộ điều khiển luồng - kiểu boolean
5 Bộ điều khiển luồng - kiểu số nguyên
6 Bộ điều khiển luồng - kiểu số thực dấu phẩy động
7 Bộ điều khiển luồng - căn chỉnh và làm đầy
8 Thử thách phần học 1
9 Lời giải thử thách phần học 1
10 Đọc từ tệp văn bản
11 Đọc từ tệp văn bản - Demo trực tiếp - Phần 1
12 Đọc từ tệp văn bản - Demo trực tiếp - Phần 2
13 Thử thách phần học 2
14 Lời giải thử thách phần học 2
15 Thử thách phần học 3
16 Lời giải thử thách phần học 3
17 Ghi vào tệp văn bản
18 Ghi vào tệp văn bản - Demo trực tiếp
19 Thử thách phần học 4
20 Lời giải thử thách phần học 4
21 Sử dụng luồng chuỗi
22 Vị trí tệp với một số IDE phổ biến
1 Tổng quan phần học
2 STL là gì?
3 Lập trình tổng quát với Macro
4 Lập trình tổng quát với Mẫu hàm
5 Lập trình tổng quát với Mẫu lớp
6 Tạo lớp mẫu Mảng tổng quát
7 Giới thiệu về vùng chứa STL
8 Giới thiệu về bộ lặp STL
9 Giới thiệu về bộ lặp - Demo
10 Giới thiệu về thuật toán STL
11 Giới thiệu về thuật toán - Demo
12 Vùng chứa tuần tự - Mảng
13 Vùng chứa tuần tự - Vector
14 Vùng chứa tuần tự - Deque
15 Thử thách phần học 1
16 Lời giải thử thách phần học 1
17 Vùng chứa tuần tự - Danh sách và Danh sách liên kết đơn
18 Thử thách phần học 2
19 Lời giải thử thách phần học 2
20 Vùng chứa kết hợp - Tập hợp
21 Vùng chứa kết hợp - Bản đồ
22 Thử thách phần học 3
23 Lời giải thử thách phần học 3
24 Bộ điều chỉnh vùng chứa - Ngăn xếp
25 Bộ điều chỉnh vùng chứa - Hàng đợi
26 Thử thách phần học 4
27 Lời giải thử thách phần học 4
28 Bộ điều chỉnh vùng chứa - Hàng đợi ưu tiên
1 Tổng quan phần học
2 Lý do sử dụng
3 Cấu trúc biểu thức Lambda
4 Biểu thức Lambda không trạng thái
5 Demo biểu thức Lambda không trạng thái - Phần 1
6 Demo biểu thức Lambda không trạng thái - Phần 2
7 Biểu thức Lambda có trạng thái
8 Demo biểu thức Lambda có trạng thái - Phần 1
9 Demo biểu thức Lambda có trạng thái - Phần 2
10 Lambda và STL
1 Tổng quan phần học
2 Cài đặt VSCode trên Windows
3 Biên dịch và chạy chương trình C++ với VSCode trên Windows
4 Gỡ lỗi chương trình C++ với VSCode trên Windows
5 Sử dụng mã nguồn khóa học với VSCode trên Windows
6 Cài đặt VSCode trên Mac OSX
7 Biên dịch và chạy chương trình C++ với VSCode trên Mac OSX
8 Gỡ lỗi chương trình C++ với VSCode trên Mac
9 Sử dụng mã nguồn khóa học với VSCode trên Mac
10 Cài đặt VSCode trên Linux
11 Biên dịch và chạy chương trình C++ với VSCode trên Linux
12 Gỡ lỗi chương trình C++ với VSCode trên Linux
13 Sử dụng mã nguồn khóa học với VSCode trên Linux
1 Tổng quan phần học
2 Lý do sử dụng
3 Cấu trúc kiểu liệt kê
4 Kiểu liệt kê không phạm vi
5 Kiểu liệt kê phạm vi
1 Tổng quan cài đặt và thiết lập
2 Cài đặt trình biên dịch C++ trên Windows
3 Cài đặt CodeLite trên Windows
4 Cấu hình CodeLite trên Windows
5 Cài đặt trình biên dịch C++ trên Mac OSX
6 Cài đặt CodeLite trên Mac OSX
7 Cấu hình CodeLite trên Mac OSX
8 Cài đặt CodeLite trên Ubuntu Linux
9 Cấu hình CodeLite trên Ubuntu Linux
10 Tạo mẫu dự án CodeLite mặc định (Tất cả phiên bản)
11 Sử dụng tài nguyên mã nguồn khóa học đi kèm
1 Mã nguồn cho tất cả phần học
2 Slide khóa học

Giới thiệu khóa học

Which programming language is often seen as a badge of honor among software developers?  C++

Which programming language can you learn that when added to your resume,  will often get you a job interview?  C++ 

Which programming language is routinely ranked in the top 5 programming languages by popularity, and been consistently in the top 10 for close to 20 years?  C++

Why you should learn C++

Much, if not most of the software written today is still written in C++ and this has been the case for many, many years. 

Not only is C++ popular, but it is also a very relevant language. If you go to GitHub you will see that there are a huge number of active C++ repositories and C++ is also extremely active on stack overflow.

There are many, many leading software titles written entirely or partly in C++. These include the Windows, Linux, and Mac OSX operating systems!

Many of the Adobe products such as Photoshop and Illustrator,  the MySQL and MongoDB database engines, and many many more are written in C++.

Leading tech companies use C++ for many of their products and internal research and development. These include Amazon, Apple, Microsoft, PayPal, Google, Facebook, Oracle, and many more.

Can you see how learning C++ will open up more career opportunities for you?

If more professional companies are using C++, it stands to reason that there is going to be more of a demand for C++ programmers.

But the main reason programmers should probably learn C++  is because it is so powerful!

What do I mean by powerful?

C++ is super fast and is a general-purpose programming language that supports both procedure and object-oriented programming making it very flexible.

It can scale easily. And it can be portable as well.

C++ can do many things that other languages just can't.

That's why nearly every major language has a way to interface with code written in C++.

Since C++ has influenced so many languages, if you know C++ you'll likely see elements from C++ in new languages you learn.

How can a beginner learn C++?

Find a good course, taught by an instructor with many years of experience in C++ is critical, as is the need for the instructor to have the necessary skills to be able to teach you the language.

Frank Mitropolous, the instructor in this course has been using C++ for over 2 decades and has taught students in both university courses and industry training courses.  He even worked on a C++ compiler development project while he was in the industry.

So not only will you be learning C++ from an expert C++ programmer, but you'll also be taught by an instructor who has successfully taught at university level for many years.

As a result, you can take this course with confidence, knowing that you will learn C++ the right way, and in the shortest possible timeframe.

Which version of C++ should I learn?

C++ has had many version releases and updates over the years.  It's a sad fact that most C++ courses do not teach Modern C++, but focus on old, obsolete versions of C++.

Frank teaches you Modern C++ (specifically C++ 14 and C++17).  

Learn C++ the right way, with Modern C++, as taught by Frank in this course.

What about C++20? Don't I need to learn about that as well?

This course currently covers C++14 and C++17 but is still valid if you ultimately want to learn C++20. 

C++20 is new and the reality is that C++20 compilers and tools are not yet ready for prime time and the industry is using mainly C++14.    So it's not really of any benefit for you to learn C++20 right now when the industry is not using it. 

It's going to take many, many years for the industry to migrate to C++20 and that means jobs for C++20 are not going to be around for quite some time.

What is available right now, are tons of jobs for Modern C++ developers, and you will obtain those skills in this course.

It's our sincere advice to focus on learning Modern C++ and not get too hung up on the latest and greatest versions of C++.

And even if you really do want to learn C++20,  the new features in C++20 are mostly advanced features that require understanding the foundations of Modern C++.

If you don't learn the basics, you won't master any version of C++.

Learning the foundations of Modern C++ should be your priority, which you will learn in this course!

Is C++ difficult to learn?

With all the power and flexibility of C++ comes complexity.

There is no question that C++ is one of the most complex programming languages out there.

But with the right instructor and the right training, you really can get up to speed with C++ quickly, and that's what this course is all about.

What will I learn in this course?

The course assumes no previous experience with C++ (or even programming in general), and you will end up with the skills to create your own programs in C++.

Key topics covered include.

* Looping with while, do/while for, range-based for statements and recursion
* Performing calculations and displaying results
* Functions
* Pointers
* Using existing classes and creating objects
* Creating your own classes
* Using Basic Standard Template Library classes such as Vector
* Constructors and Destructors
* Copy and Move semantics including Copy constructors, Move constructors, and copy and move assignment 
* How to overload operators
* Using inheritance and class hierarchies
* Using Polymorphic functions and dynamic binding 
* Using smart pointers
* Using stream I/O
* An introduction to the C++ STL
* An introduction to Exception Handling
* And much more.


How is this C++ course different from other courses?

You will learn Modern C++, for one.  Many, perhaps most other courses on Udemy teach you old, obsolete versions of C++.  If you are going to learn C++, it's imperative that you learn the Modern version to maximize your career opportunities and to ensure your skills are up to date.

The course format includes theory and concepts which are then reinforced with live code examples. Often the C++ debugger is used to step through code and analyze variables to better understand the behavior of C++. The instructor also uses a pen tablet to write on the screen and provide even more visual explanations.

You won't find better C++ training anywhere, and you will struggle to find someone with as much industry and training experience as your instructor Frank has.

What do I get out of learning C++?

More career options for one!  C++ is one of the most popular programming languages used in games development.    It's also heavily used in embedded applications.  Your investment in time in learning C++ will reward you time and time again with more pay, and more opportunities, and frankly, more fun!

Are you ready to get started?

If you are ready to get that first paid programming job or to move up to a more senior programming position, then this course is for you!

Your new job or consulting opportunity awaits!  

Why not get started today?

Click the Signup button to sign up for the course!

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học C Plus Plus
Hiển thị tất cả khoá học Computer Science
Hiển thị tất cả khoá học Programming
Hiển thị tất cả khoá học Software Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊