thể trùng lặp:
In C++ why have header files and cpp files?Confused về mục đích thực sự của tập tin tiêu đề trong C++
Tôi không hoàn toàn nhận được C++ file header, vì hai lý do mâu thuẫn:
Tôi nghĩ mục đích của tệp tiêu đề nói chung là tách riêng giao diện và triển khai. Nói cách khác, máy khách sử dụng tệp tiêu đề để tìm hiểu cách sử dụng lớp, nhưng không phải lo lắng về cách lớp thực sự thực hiện chức năng này trong nội bộ.
Tại sao, sau đó, là biến riêng tư của lớp C++ được chỉ định trong tệp tiêu đề của nó?
Dường như với tôi rằng có biến tin trong file header vi phạm sự tách biệt của giao diện và thực hiện. Trực giác, tôi nghĩ sẽ có ý nghĩa hơn đối với các biến riêng tư trong tệp nguồn, vì đây là tệp không được tiếp xúc với thế giới bên ngoài.
Có lẽ tôi chỉ hiểu nhầm mục đích của tệp tiêu đề và 1. ở trên hoàn toàn sai? Trong những cách?
Trường hợp bạn nhận được 1. Từ? – Robottinosino
Bên cạnh các hàm 'friend', tôi đặt cược nó chỉ là giới hạn kỹ thuật cho trình biên dịch để xác định kích thước của lớp. – Mysticial
@DaveSwersky Điều đó không trả lời câu hỏi thứ hai của OP, "Tại sao, sau đó, là các biến riêng của một lớp C++ được chỉ định trong tệp tiêu đề của nó?" – Mysticial