Only difference is default access modifier.
1struct S {2 int x; // public by default3};4 5class C {6 int x; // private by default7public:8 int getX() { return x; }9};
Inheritance:
Convention: