struct与class的区别
struct 和 class
相同点:
1、能包含成员函数;
2、能继承;
3、能实现多态;
区别:
最本质的区别就是默认的访问控制:
默认的继承访问权限:
struct 是public,
class 是private。
当然,到底默认是public继承还是private继承,取决于子类而不是基类。
意思是,struct可以继承class,class也可以继承struct,那么默认的继承访问权限是看子类到底是用struct还是class。
例:
struct A{};
class B : A{};//private继承
struct C : A{};//public继承
struct作为数据结构的实现体,它默认的数据访问控制是public的,
class作为对象的实现体,它默认的成员变量的访问控制是private的。