- struct一般用于描述一个数据结构的集合,而class是对一个对象数据的封装
- struct中默认的访问控制权限是public的,而class中默认访问权限是private的,例如:
struct A{int iNum}//默认访问权限是public
class B{int iNum;}//默认访问权限是private
- 在继承关系中,struct默认是公有继承,而class是私有继承;
- class关键字可以用于定义模板参数,就像typename,而struct不能用于定义模板参数,例如:
template<typename T,typename Y>//可以把typename换成class
- c++中的struct是对 使用时的区别:c中使用结构体需要加上struct关键字,或者对结构体使用typedef取别名,而c++中可以省略struct关键字直接使用, 例如:
struct Student{int iAgeNum; string strName;}
typedef struct Student Student2;//c中取别名
struct Student stu1; //c中正常使用
Student2 stu2; //c中通过取别名使用
Student stu3; //c++直接使用