struct के मेंबर्स और बेस क्लासेस डिफ़ॉल्ट रूप से public होते हैं, जबकि class में वे डिफ़ॉल्ट रूप से private होते हैं। struct और class अन्यथा कार्यात्मक रूप से समतुल्य हैं।
हालांकि उनका उपयोग सिमेंटिक्स के कारण अलग-अलग स्थानों पर किया जाता है। struct एक डेटा संरचना की तरह है जिसका उपयोग डेटा को दर्शाने के लिए किया जाता है। दूसरी ओर, class कार्यक्षमता-उन्मुख निर्माण है। यह चीजों के होने और काम करने के तरीके की नकल करता है।