类与结构体在 C++ 中只有两点区别,除此这外无任何区别。
- (1)class 中默认的成员访问权限是 private 的,而 struct 中则是 public 的。
- (2)从 class 继承默认是 private 继承,而从 struct 继承默认是 public 继承。
- (3)class 可以定义模板,而 struct 不可以。
- 首先,我不知道是不是版本的问题,在vs2017的使用过程中,我发现C++的结构体关键字typedef可以直接省略,甚至不省略的话vs还会提示你省略。
- 第二个是习惯上的,我最近在用C++实现一些数据结构,用了几次之后发现,如果在结构体能够完成目的的情况下就没必要去用类。
- 第三点是C与C++结构体中前者不能有函数,后者可以有。