C++中struct和class的区别
历史遗留问题
C++中保留了C中的struct关键字,并对其进行了一定程度的扩展(如C中的struct不能定义成员函数,而C++可以),使得C++中struct变得和class有着类似的功能。但二者还是有一定的区别。
最大的区别就是class中的变量、函数等成员可以定义访问权限private、public、protected等(默认都是private),而struct中的成员默认都相当于是public的,并且class 继承默认是 private 继承,而 struct 继承默认是 public 继承;另外在class中可以使用模板,而struct中则不行。
总的来说struct的保留就是想给C语言程序员在使用C++时也能有一定的归属感(* ̄︶ ̄)
浙公网安备 33010602011771号