C++被称为“C with class”,可见在C++中class是多么重要,与class类似的一个结构就是struct了,struct最早是在C语言中出现的,在C++中对struct的功能也进行了扩展。
class :
public(公有):在类内外、派生类中都可被访问
protected(保护):希望与派生类共享但是不想被公共访问所使用的访问权限。在基类和派生类中(派生类的友元也可以访问)可以被访问,在类外无法访问
private(私有):只有在类内可被访问,类外和子类无法访问
注意事项:
成员不写访问属性时,类的默认访问属性为private
与结构体的不同:结构体默认属性为public
下面就来说一说struct和class的区别吧:
1、默认的继承权限
struct默认是公有继承(public),class默认是私有继承(private)
2、关于默认访问权限
class中默认的成员访问权限是private的,而struct中则是public的。
3、关于大括号初始化问题
struct在C语言中:
在C语言中,我们知道struct中是一种数据类型,只能定义数据成员,不能定义函数,这是因为C语言是面向过程的,面向过程认为数据和操作是