Thành viên và lớp cơ sở của struct mặc định là public, trong khi class mặc định là private. struct và class về mặt chức năng thì tương đương.
Tuy nhiên, chúng dùng ở chỗ khác do ngữ nghĩa (semantics). struct giống cấu trúc dữ liệu (data structure) dùng để biểu diễn dữ liệu. class thiên về chức năng (functionality), mô phỏng cách sự vật hoạt động.