<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Cpp Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/cpp.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Cpp Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-06-12T11:29:01+07:00</lastBuildDate>
                <item>
            <title><![CDATA[VietLint - Dự án Open Source kiểm tra tiếng Việt cho README, Docs và Markdown]]></title>
                        <link>https://viblo.asia/p/vietlint-du-an-open-source-kiem-tra-tieng-viet-cho-readme-docs-va-markdown-gdJzv81eJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/vietlint-du-an-open-source-kiem-tra-tieng-viet-cho-readme-docs-va-markdown-gdJzv81eJz5</guid>
            <description><![CDATA[VietLint - Mình đang xây dựng một linter cho tiếng Việt 

Xin chào mọi người,

Mình là 1 vibecoding dev của cũng là tác giả của VietLint, một dự án Op...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Geometry Dash</dc:creator>
            <pubDate>2026-06-11 21:09:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bit Hacking Toàn Tập - Phần 2: Tối Ưu Cấp Cao, SIMD Tư Duy Và Những &quot;Cú Lừa&quot; CPU]]></title>
                        <link>https://viblo.asia/p/bit-hacking-toan-tap-phan-2-toi-uu-cap-cao-simd-tu-duy-va-nhung-cu-lua-cpu-G24B8GrdLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/bit-hacking-toan-tap-phan-2-toi-uu-cap-cao-simd-tu-duy-va-nhung-cu-lua-cpu-G24B8GrdLz3</guid>
            <description><![CDATA[Nếu phần 1 tập trung vào các kỹ thuật nền tảng, thì phần 2 này sẽ đi sâu vào tư duy tối ưu cấp cao — nơi Bit Hacking không chỉ là mẹo, mà trở thành ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Trần Quang Huy</dc:creator>
            <pubDate>2026-05-16 21:57:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 41: Các kiểu kế thừa - Khám phá &quot;gia phả&quot; của hệ thống Class]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-41-cac-kieu-ke-thua-kham-pha-gia-pha-cua-he-thong-class-ZjJYWZXMVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-41-cac-kieu-ke-thua-kham-pha-gia-pha-cua-he-thong-class-ZjJYWZXMVOE</guid>
            <description><![CDATA[Chào anh em! Từ đầu chương Kế thừa đến giờ, chúng ta thường xuyên làm việc với cấu trúc 1 Lớp Cha đẻ ra 1 Lớp Con. Nhưng thế giới phần mềm rộng lớn hơ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-03 15:25:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 40: Phạm vi truy xuất trong Kế thừa - Những cánh cửa vô hình!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-40-pham-vi-truy-xuat-trong-ke-thua-nhung-canh-cua-vo-hinh-8X4EjMwdJN2</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-40-pham-vi-truy-xuat-trong-ke-thua-nhung-canh-cua-vo-hinh-8X4EjMwdJN2</guid>
            <description><![CDATA[Chào anh em! Từ [Bài 35] đến giờ, mỗi khi cho Lớp Con kế thừa Lớp Cha, chúng ta đều viết một cú pháp quen thuộc:
class DevBackend : public NhanVien

C...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-03 15:25:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 39: Lưu ý cài đặt kế thừa - Những cái bẫy chết người của OOP!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-39-luu-y-cai-dat-ke-thua-nhung-cai-bay-chet-nguoi-cua-oop-G24B8GRGLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-39-luu-y-cai-dat-ke-thua-nhung-cai-bay-chet-nguoi-cua-oop-G24B8GRGLz3</guid>
            <description><![CDATA[Chào anh em! Ở các bài trước, chúng ta đã thấy Kế thừa là một công cụ tuyệt vời để tái sử dụng mã nguồn. Chỉ cần class Con : public Cha, thế là Lớp Co...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-01 09:44:51</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 38: Cài đặt kế thừa (Phần 2) - Định luật dọn rác và Quyền phản nghịch!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-38-cai-dat-ke-thua-phan-2-dinh-luat-don-rac-va-quyen-phan-nghich-RlL5eQE8LbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-38-cai-dat-ke-thua-phan-2-dinh-luat-don-rac-va-quyen-phan-nghich-RlL5eQE8LbB</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 37], chúng ta đã theo dõi vòng đời của một Object đi từ lúc cấp phát bộ nhớ (Constructor). Chúng ta biết rằng Lớp Cha luôn được ưu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-29 06:56:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 37: Cài đặt kế thừa (Phần 1) - Định luật &quot;Xây móng trước khi lợp mái&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-37-cai-dat-ke-thua-phan-1-dinh-luat-xay-mong-truoc-khi-lop-mai-7Z4DEGR0JnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-37-cai-dat-ke-thua-phan-1-dinh-luat-xay-mong-truoc-khi-lop-mai-7Z4DEGR0JnX</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 36], chúng ta đã biết cách dùng protected để chia sẻ tài sản từ Cha xuống Con. Đồng thời, mình có để lại một câu hỏi lớn ở hàm Con...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-24 20:57:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 36: Đặc tính cơ bản của kế thừa đơn (Phần 2) - Cú lừa của private và sự xuất hiện của protected!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-36-dac-tinh-co-ban-cua-ke-thua-don-phan-2-cu-lua-cua-private-va-su-xuat-hien-cua-protected-Nj4vg8WKJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-36-dac-tinh-co-ban-cua-ke-thua-don-phan-2-cu-lua-cua-private-va-su-xuat-hien-cua-protected-Nj4vg8WKJ6r</guid>
            <description><![CDATA[Chào anh em! Ở cuối Bài 35, chúng ta đã để hở một lỗ hổng bảo mật chết người: Để Lớp con (DevBackend) có thể xài được biến hoTen và luongCoBan của Lớp...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-14 21:17:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 35: Đặc tính cơ bản của kế thừa đơn - Sự truyền ngôi của các Class!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-35-dac-tinh-co-ban-cua-ke-thua-don-su-truyen-ngoi-cua-cac-class-ymJXDQ15Jkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-35-dac-tinh-co-ban-cua-ke-thua-don-su-truyen-ngoi-cua-cac-class-ymJXDQ15Jkq</guid>
            <description><![CDATA[Chào anh em! Hãy tưởng tượng bạn đang viết phần mềm quản lý nhân sự cho một công ty IT.
Ban đầu, bạn tạo một Class NhanVien với các thuộc tính cơ bản:...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-10 11:19:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 34: Toán tử so sánh - Cán cân công lý của OOP]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-34-toan-tu-so-sanh-can-can-cong-ly-cua-oop-oKLnqe7yJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-34-toan-tu-so-sanh-can-can-cong-ly-cua-oop-oKLnqe7yJQO</guid>
            <description><![CDATA[Chào anh em! Đến thời điểm này, Class PhanSo của chúng ta đã có thể tính toán (+, -, *, /) và in ấn (<<, >>) y hệt một biến int nguyên thủy.Nhưng nếu ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-09 20:29:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 33: Toán tử hậu tố (Postfix) - Tham số &quot;bù nhìn&quot; và cú lừa lịch sử!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-33-toan-tu-hau-to-postfix-tham-so-bu-nhin-va-cu-lua-lich-su-y0VGwONzVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-33-toan-tu-hau-to-postfix-tham-so-bu-nhin-va-cu-lua-lich-su-y0VGwONzVPA</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 32], chúng ta đã viết thành công hàm operator++() cho toán tử Tiền tố (++ps).

Tuy nhiên, luật của C++ không cho phép tồn tại 2 hà...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-04 13:14:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 32: Toán tử tiền tố (Prefix Operator) - Tăng trước, tính sau!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-32-toan-tu-tien-to-prefix-operator-tang-truoc-tinh-sau-lZL9XqGdJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-32-toan-tu-tien-to-prefix-operator-tang-truoc-tinh-sau-lZL9XqGdJQK</guid>
            <description><![CDATA[Chào anh em! Trong các vòng lặp for hay while, chúng ta dùng ++i và i++ nhiều như cơm bữa. Đối với kiểu int, cả hai đều là cộng thêm 1 đơn vị.

Nhưng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 18:52:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 31: Toán tử nhập xuất dùng Hàm bạn - Đưa trật tự vũ trụ C++ trở lại!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-31-toan-tu-nhap-xuat-dung-ham-ban-dua-trat-tu-vu-tru-c-tro-lai-1j4lQPXKJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-31-toan-tu-nhap-xuat-dung-ham-ban-dua-trat-tu-vu-tru-c-tro-lai-1j4lQPXKJwl</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 30], chúng ta đã chứng kiến một cú lừa ngoạn mục. Khi cố tình nhét toán tử << vào làm Member Function (Hàm bên trong Class), mã ng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 09:58:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 30: Toán tử nhập xuất dùng Member Function - Bí mật quái gở của cout và cin!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-30-toan-tu-nhap-xuat-dung-member-function-bi-mat-quai-go-cua-cout-va-cin-AWVpXgzoV05</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-30-toan-tu-nhap-xuat-dung-member-function-bi-mat-quai-go-cua-cout-va-cin-AWVpXgzoV05</guid>
            <description><![CDATA[Chào anh em! Ở các bài trước, chúng ta đã biến Class PhanSo thành một thực thể toán học thực thụ với các phép cộng, trừ. Nhưng ở khâu hiển thị, chúng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 09:50:50</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 29: Nạp chồng toán tử (+) bằng Hàm bạn - &quot;Chân ái&quot; của hệ thống tính toán]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-29-nap-chong-toan-tu-bang-ham-ban-chan-ai-cua-he-thong-tinh-toan-Nj4vg8j2J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-29-nap-chong-toan-tu-bang-ham-ban-chan-ai-cua-he-thong-tinh-toan-Nj4vg8j2J6r</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 28], chúng ta đã rơi vào một thế bế tắc kinh điển trong thiết kế C++:

* Viết phép cộng + ở TRONG Class: Truy cập dữ liệu dễ dàng,...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-26 14:11:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 28: Nạp chồng toán tử cộng (+) - Cuộc chiến giữa Member và Non-member]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-28-nap-chong-toan-tu-cong-cuoc-chien-giua-member-va-non-member-ymJXDQM6Jkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-28-nap-chong-toan-tu-cong-cuoc-chien-giua-member-va-non-member-ymJXDQM6Jkq</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 27], chúng ta đã khởi động nhẹ nhàng với toán tử 1 ngôi (-ps). Hôm nay, chúng ta sẽ đối mặt với "trùm cuối": Toán tử 2 ngôi (Binar...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-25 20:10:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 27: Toán tử số đối (Non-member function) - Góc nhìn từ bên ngoài pháo đài]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-27-toan-tu-so-doi-non-member-function-goc-nhin-tu-ben-ngoai-phao-dai-bA468B5GLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-27-toan-tu-so-doi-non-member-function-goc-nhin-tu-ben-ngoai-phao-dai-bA468B5GLKv</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 25], chúng ta đã nạp chồng toán tử số đối (Unary Minus -) bằng cách viết hàm trực tiếp vào bên trong Class. Lợi thế là chúng ta ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 16:30:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 26: Getter - Setter là gì? - Nghệ thuật kiểm soát cổng ra vào dữ liệu]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-26-getter-setter-la-gi-nghe-thuat-kiem-soat-cong-ra-vao-du-lieu-OXLA0j9rJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-26-getter-setter-la-gi-nghe-thuat-kiem-soat-cong-ra-vao-du-lieu-OXLA0j9rJGr</guid>
            <description><![CDATA[Chào anh em! Trong suốt các bài qua của project PhanSo, chúng ta đã giấu kỹ tuSo và mauSo vào khu vực private. Chúng ta dùng Constructor để khởi tạo b...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 16:18:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 25: Nạp chồng toán tử 1 ngôi - &quot;Đảo chiều&quot; thực thể với Unary Minus]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-25-nap-chong-toan-tu-1-ngoi-dao-chieu-thuc-the-voi-unary-minus-pPLkN362JRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-25-nap-chong-toan-tu-1-ngoi-dao-chieu-thuc-the-voi-unary-minus-pPLkN362JRZ</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 24], chúng ta đã biết sức mạnh của việc Nạp chồng toán tử (Operator Overloading). Hôm nay, chúng ta sẽ áp dụng nó vào thực tế với ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 16:05:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 24: Giới thiệu Nạp chồng toán tử (Operator Overloading) - Phép thuật thao túng C++]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-24-gioi-thieu-nap-chong-toan-tu-operator-overloading-phep-thuat-thao-tung-c-XP4WE2NoL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-24-gioi-thieu-nap-chong-toan-tu-operator-overloading-phep-thuat-thao-tung-c-XP4WE2NoL7G</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 23], chúng ta đã giải quyết bài toán cộng phân số bằng cách gọi hàm:
PhanSo tong = ToanHoc::cong(ps1, ps2);

Tuy nhiên, đối với mộ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 07:34:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 23: Lớp bạn (Friend Class) - Khi một người bạn được giao &quot;chìa khóa nhà&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-23-lop-ban-friend-class-khi-mot-nguoi-ban-duoc-giao-chia-khoa-nha-ZoJjeGl74Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-23-lop-ban-friend-class-khi-mot-nguoi-ban-duoc-giao-chia-khoa-nha-ZoJjeGl74Y7</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 22], chúng ta đã biết cách "mở cửa hậu" cho một hàm tự do bằng từ khóa friend.

Nhưng hãy tưởng tượng, bạn đang viết một hệ thống ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 22:15:41</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 22: Hàm bạn - Lớp bạn (Phần 1) - Nghệ thuật &quot;mở cửa hậu&quot; an toàn]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-22-ham-ban-lop-ban-phan-1-nghe-thuat-mo-cua-hau-an-toan-lZL9XqkeJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-22-ham-ban-lop-ban-phan-1-nghe-thuat-mo-cua-hau-an-toan-lZL9XqkeJQK</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 21], hệ thống PhanSo của chúng ta đã được bảo vệ hoàn hảo bằng private. Không một ai từ bên ngoài có thể tự ý thay đổi tuSo hay ma...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 00:54:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 21: Phương thức khởi tạo có tham số (Phần 2) - Cú lừa từ API và kỹ năng Parse chuỗi]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-21-phuong-thuc-khoi-tao-co-tham-so-phan-2-cu-lua-tu-api-va-ky-nang-parse-chuoi-oKLnqebZJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-21-phuong-thuc-khoi-tao-co-tham-so-phan-2-cu-lua-tu-api-va-ky-nang-parse-chuoi-oKLnqebZJQO</guid>
            <description><![CDATA[Chào anh em! Trong [Bài 20], chúng ta đã thiết kế thành công Class PhanSo nhận vào 2 số nguyên. Code chạy cực mượt, phân số tự động rút gọn.

Nhưng đờ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 00:48:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 20: Bài tập thực chiến - Xây dựng hệ thống Phân số (Phần 1)]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-20-bai-tap-thuc-chien-xay-dung-he-thong-phan-so-phan-1-ym40077m491</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-20-bai-tap-thuc-chien-xay-dung-he-thong-phan-so-phan-1-ym40077m491</guid>
            <description><![CDATA[Chào anh em! Chào mừng đến với project thực chiến đầu tiên.

Mục tiêu của chúng ta là tạo ra một Class PhanSo hoạt động mượt mà y như các kiểu dữ liệu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 18:21:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 19: Phương thức tĩnh (Static Member Functions) - Quyền năng gọi hàm không cần Object]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-19-phuong-thuc-tinh-static-member-functions-quyen-nang-goi-ham-khong-can-object-bNVQGoo2JvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-19-phuong-thuc-tinh-static-member-functions-quyen-nang-goi-ham-khong-can-object-bNVQGoo2JvR</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 18], chúng ta đã biết cách tạo ra một static data member (Biến tĩnh) để làm "Sổ cái chung" lưu trữ dữ liệu toàn cục của Class (ví ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 18:12:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 18: Thành viên tĩnh (Static Data Member) - Bí mật của vùng nhớ &quot;vượt thời gian&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-18-thanh-vien-tinh-static-data-member-bi-mat-cua-vung-nho-vuot-thoi-gian-AoJe8zzD41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-18-thanh-vien-tinh-static-data-member-bi-mat-cua-vung-nho-vuot-thoi-gian-AoJe8zzD41j</guid>
            <description><![CDATA[Chào anh em! Từ đầu series đến giờ, chúng ta đã quen với quy luật: Mỗi Object được đúc ra sẽ mang một bộ dữ liệu (Thuộc tính) của riêng nó. Anh A có s...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 17:58:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 17: Destructor - &quot;Người dọn rác&quot; tận tụy và bài học xương máu về Memory Leak]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-17-destructor-nguoi-don-rac-tan-tuy-va-bai-hoc-xuong-mau-ve-memory-leak-k74a9ggM4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-17-destructor-nguoi-don-rac-tan-tuy-va-bai-hoc-xuong-mau-ve-memory-leak-k74a9ggM4eO</guid>
            <description><![CDATA[Chào anh em! Ở các bài trước, chúng ta đã dùng new để xin cấp phát bộ nhớ rất nhiều. Nhưng hãy nhớ một quy tắc sắt đá trong C++: Có vay thì phải có tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 17:51:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 16: Copy Constructor - Nghệ thuật nhân bản và cạm bẫy &quot;Double Free&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-16-copy-constructor-nghe-thuat-nhan-ban-va-cam-bay-double-free-bA468BeDLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-16-copy-constructor-nghe-thuat-nhan-ban-va-cam-bay-double-free-bA468BeDLKv</guid>
            <description><![CDATA[Chào anh em! Trong C++, khi bạn viết Object A = B;, trình biên dịch sẽ tự động thực hiện một thao tác gọi là Shallow Copy (Sao chép nông). Nó sẽ copy ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 21:21:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 15: Tham chiếu (Reference) là gì? - Sợi dây liên kết sống còn trong C++]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-15-tham-chieu-reference-la-gi-soi-day-lien-ket-song-con-trong-c-AWVpXgw3V05</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-15-tham-chieu-reference-la-gi-soi-day-lien-ket-song-con-trong-c-AWVpXgw3V05</guid>
            <description><![CDATA[Chào anh em! Trong [Bài 11], khi làm tính năng tấn công (attack), mình đã nhấn mạnh việc phải thêm dấu & (Tham chiếu) vào tham số truyền vào: void att...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 14:46:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 14: &quot;Constructor chồng Constructor&quot; và Bí thuật ngăn chặn ép kiểu lỗi]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-14-constructor-chong-constructor-va-bi-thuat-ngan-chan-ep-kieu-loi-XP4WE2wkL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-14-constructor-chong-constructor-va-bi-thuat-ngan-chan-ep-kieu-loi-XP4WE2wkL7G</guid>
            <description><![CDATA[Chào anh em! Chúng ta lại gặp nhau ở phần 2 của chủ đề Parameterized Constructor.

Khi thiết kế một hệ thống lớn, một Class thường có rất nhiều cách đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 14:31:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 13: Phương thức khởi tạo có tham số (Phần 1) - Phân biệt &quot;Gán&quot; và &quot;Khởi tạo&quot; thực sự!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-13-phuong-thuc-khoi-tao-co-tham-so-phan-1-phan-biet-gan-va-khoi-tao-thuc-su-ym4007Bd491</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-13-phuong-thuc-khoi-tao-co-tham-so-phan-1-phan-biet-gan-va-khoi-tao-thuc-su-ym4007Bd491</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 12], chúng ta đã biết cách viết Parameterized Constructor (Hàm khởi tạo có tham số) để đẻ ra một Object mang sẵn số liệu:

Nhìn th...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 13:55:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 12: Hàm khởi tạo mặc định (Default Constructor) - Cách C++ &quot;chào đời&quot; một Object!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-12-ham-khoi-tao-mac-dinh-default-constructor-cach-c-chao-doi-mot-object-XRJ8R0eqVGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-12-ham-khoi-tao-mac-dinh-default-constructor-cach-c-chao-doi-mot-object-XRJ8R0eqVGq</guid>
            <description><![CDATA[Chào anh em! Ở cuối [Bài 11], chúng ta đã thiết kế Class Character với một Constructor (Hàm khởi tạo) yêu cầu truyền vào 3 tham số: Tên, Máu, Sát thươ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 10:07:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 11: Phương thức nhận Object làm tham số - Khi các thực thể &quot;va chạm&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-11-phuong-thuc-nhan-object-lam-tham-so-khi-cac-thuc-the-va-cham-1XVOWMEGVMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-11-phuong-thuc-nhan-object-lam-tham-so-khi-cac-thuc-the-va-cham-1XVOWMEGVMz</guid>
            <description><![CDATA[Chào anh em! Trong 10 bài vừa qua, chúng ta đã thiết kế ra những Object rất xịn xò nhưng chúng lại sống... khá cô lập.

Thực tế khi làm dự án, các Obj...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:44:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 10: Con trỏ this - Lật tẩy &quot;thế lực ngầm&quot; định vị mọi Object]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-10-con-tro-this-lat-tay-the-luc-ngam-dinh-vi-moi-object-R5JRQMEr4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-10-con-tro-this-lat-tay-the-luc-ngam-dinh-vi-moi-object-R5JRQMEr4Gv</guid>
            <description><![CDATA[Chào anh em! Trong suốt 9 bài vừa qua, chúng ta đã gọi các phương thức như user.getName(), wallet.deposit(100) một cách rất vô tư.

Nhưng có một sự th...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:37:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 9: Định nghĩa phương thức bằng cách chia file - Giải mã &quot;lời nguyền&quot; Include chéo]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-9-dinh-nghia-phuong-thuc-bang-cach-chia-file-giai-ma-loi-nguyen-include-cheo-kY4gDY8RJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-9-dinh-nghia-phuong-thuc-bang-cach-chia-file-giai-ma-loi-nguyen-include-cheo-kY4gDY8RJAe</guid>
            <description><![CDATA[Chào anh em! Trong các bài trước, chúng ta đã thống nhất quy tắc Vàng của một Kỹ sư C++: File Header (.h) là Menu (khai báo), File Source (.cpp) là Nh...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:31:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 8: Định nghĩa phương thức của Class - Khai phá sức mạnh của inline, const và static]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-8-dinh-nghia-phuong-thuc-cua-class-khai-pha-suc-manh-cua-inline-const-va-static-ZoJjeGwA4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-8-dinh-nghia-phuong-thuc-cua-class-khai-pha-suc-manh-cua-inline-const-va-static-ZoJjeGwA4Y7</guid>
            <description><![CDATA[Chào anh em! Trong các bài trước, chúng ta đã biết Class gồm có Thuộc tính (Data) và Phương thức (Hàm). Việc khai báo tên hàm thì rất dễ, nhưng việc "...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:25:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 7: Khai báo Class chuẩn dự án - Tạm biệt &quot;nồi lẩu&quot; main.cpp!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-7-khai-bao-class-chuan-du-an-tam-biet-noi-lau-maincpp-RlL5eQl8LbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-7-khai-bao-class-chuan-du-an-tam-biet-noi-lau-maincpp-RlL5eQl8LbB</guid>
            <description><![CDATA[Chào anh em! Nếu anh em đã đi cùng mình qua 6 bài trước và nắm vững 4 trụ cột của OOP, thì xin chúc mừng, anh em đã có tư duy của một Kỹ sư phần mềm.
...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 07:55:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 6: Đa hình (Polymorphism) - &quot;Phép thuật&quot; định hình đẳng cấp Senior]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-6-da-hinh-polymorphism-phep-thuat-dinh-hinh-dang-cap-senior-OQJwzb3g4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-6-da-hinh-polymorphism-phep-thuat-dinh-hinh-dang-cap-senior-OQJwzb3g4MP</guid>
            <description><![CDATA[Chào anh em! Chúc mừng anh em đã đi đến mảnh ghép cuối cùng và cũng là mảnh ghép uy lực nhất của 4 tính chất OOP: Đa hình (Polymorphism).

Hãy nhớ lại...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 07:50:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 5: Kế thừa (Inheritance) - Đừng copy-paste code nữa, hãy dùng não!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-5-ke-thua-inheritance-dung-copy-paste-code-nua-hay-dung-nao-PoL7e0e24vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-5-ke-thua-inheritance-dung-copy-paste-code-nua-hay-dung-nao-PoL7e0e24vk</guid>
            <description><![CDATA[Chào anh em! Chúng ta lại gặp nhau trong series OOP Thực chiến.

Ở [Bài 4], chúng ta đã thiết kế một cái DigitalWallet (Ví điện tử) cực kỳ an toàn với...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 23:59:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 4: Đóng gói (Encapsulation) - Đặt &quot;lính gác&quot; bảo vệ dữ liệu của bạn]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-4-dong-goi-encapsulation-dat-linh-gac-bao-ve-du-lieu-cua-ban-13VM9D98VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-4-dong-goi-encapsulation-dat-linh-gac-bao-ve-du-lieu-cua-ban-13VM9D98VY7</guid>
            <description><![CDATA[Chào anh em, lại là mình đây. Tiếp nối series OOP Thực chiến, hôm nay chúng ta sẽ giải quyết một khái niệm mà 80% các bạn mới học hay nhầm lẫn với Trừ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 23:50:19</pubDate>
                                                                                                        </item>
            </channel>
</rss>
