区别1:使用class关键字定义的类的默认成员访问说明符是private,而使用struct关键字定义的类的默认成员访问说明符是public:
class A {
int data;
}
struct B {
int data;
}
//以上定义等效于:
class A {
private:
int data;
}
struct B {
public:
int data;
}
区别2:使用class关键字定义的派生类是默认私有继承的,使用struct关键字定义的派生类是默认公有继承的:
class AA : A {
}
struct BB : B {
}
//以上定义等效于:
class AA : private A {
}
struct BB : public B {
}
除此之外,class和struct再无区别。