Khác biệt kỹ thuật duy nhất: mức truy cập mặc định.
- struct: thành viên và kế thừa mặc định public.
- class: mặc định private.
Ngoài ra hai từ khóa hoàn toàn tương đương — struct vẫn có method, constructor, kế thừa, template như class.
cpp
struct A { int x; }; // x public
class B { int x; }; // x privateQuy ước: dùng struct cho kiểu chứa dữ liệu thuần (không invariant); dùng class khi có bất biến cần đóng gói bằng private + method.