最近也是感觉c++中class和struct的用法十分相似,但是为什么有了struct还要有class?
其中最本质的区别是class的默认是private,而struct是public
其实,C和C++这两种 语言,除了语法上相似,其理念是完全不同的。C++最初的想法就是对C进行扩充——“a better c”,但事实上,这样的“扩充”已经不能再称之为扩充了,我更愿意把C++当成是一种新的语言,而不仅仅是扩充。又或许,C++和C最大的关系,只是他们 的名字,如果C++不叫C++,而叫D++,你可能就不会将它们俩的关系想得那么的紧密了。当然,这些话只是调侃,C++的确是在C的基础上发展起来的。
struct A{};
class B : A{}; //private继承
struct C : B{}; //public继承
struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的