C/C++中的struct和class对比

C和C++中的Struct区别:

C C++
不能将函数放在结构体声明 能将函数放在结构体声明
在C结构体声明中不能使用C++访问修饰符。 public、protected、private 在C++中可以使用。
在C中定义结构体变量,如果使用了下面定义对象必须加struct。 定义对象可以不加struct
结构体不能继承(没有这一概念)。 可以继承
若结构体的名字与函数名相同,可以正常运行且正常的调用! 若结构体的名字与函数名相同,使用结构体,只能使用带struct定义!

c++中struct和class区别:

  • 总的来说,struct 更适合看成是一个数据结构的实现体,class 更适合看成是一个对象的实现体。
  • 最本质的一个区别就是默认的访问控制

默认的继承访问权限。struct 是 public 的,class 是 private 的。

struct 作为数据结构的实现体,它默认的数据访问控制是 public 的,而 class 作为对象的实现体,它默认的成员变量访问控制是 private 的。

posted @ 2022-05-05 16:00  hucat  阅读(51)  评论(0)    收藏  举报