成员的默认访问权限
C++ 中成员变量和成员函数默认是public的还是private的?
class 默认是 private
struct 默认是 public
注意:
程序中应该明确指出访问权限,不要依赖默认的访问权限。
对于其他默认的情况也一样,应该明确指出,这是一个好的编程习惯,增加代码的可读性。
默认的继承方式
对于默认的继承方式,class是private,struct是public。
需要注意的是:
- class可以继承class,也可继承struct。
- struct可以继承struct,也可以继承class。
- 默认的继承方式取决于子类是struct还是class。
- 应该明确指出继承方式,而不应该依赖默认。
4、对于struct和class,都可以使用使用{}来赋初值,前提是:a、字段是public,因为public才可以直接访问;b、没有父类,没有自定义构造方法和虚方法,可以有普通的成员方法。可以认为,继承,自定义构造方法,虚方法改变了类的内部结构,因此编译器禁止使用{}赋初值。
5、定义模版参数,使用typename,也可以使用class。但是不能使用struct。