C++的class和struct

成员的默认访问权限

C++ 中成员变量和成员函数默认是public的还是private的?
class 默认是 private
struct 默认是 public
注意
程序中应该明确指出访问权限,不要依赖默认的访问权限。
对于其他默认的情况也一样,应该明确指出,这是一个好的编程习惯,增加代码的可读性。

默认的继承方式

对于默认的继承方式,class是private,struct是public。
需要注意的是:

  1. class可以继承class,也可继承struct。
  2. struct可以继承struct,也可以继承class。
  3. 默认的继承方式取决于子类是struct还是class。
  4. 应该明确指出继承方式,而不应该依赖默认。

4、对于struct和class,都可以使用使用{}来赋初值,前提是:a、字段是public,因为public才可以直接访问;b、没有父类,没有自定义构造方法和虚方法,可以有普通的成员方法。可以认为,继承,自定义构造方法,虚方法改变了类的内部结构,因此编译器禁止使用{}赋初值。

5、定义模版参数,使用typename,也可以使用class。但是不能使用struct。

猜你喜欢

转载自blog.csdn.net/weixin_44144171/article/details/90297104