Advertisement

在C++中class和struct的相同与不同

阅读量:

文章目录

C++与C语言中的结构体(即struct)存在显著差异
C++中的结构体与类在功能性上具有许多共同之处
C++中的结构体与类在实现机制上存在主要区别

C++与C语言中struct的区别

C++中的struct对C语言中的struct进行扩充,主要区别如下

C C++
成员函数 不能 可以
静态成员 不能 可以
防控属性 默认public,不能修改 public\private\protected
继承关系 不可以继承 可以从其他结构体继承
初始化 不能直接初始化数据成员 可以

C++中struct和class的相同点

  1. 与类相同的是具有内含成员变量以及可实现功能的部分,并且支持公私保护的数据属性。
  2. 作为其他实体的继承者或被其他实体继承的对象,并非所有情况都排斥虚函数的存在。
  3. 在建立完成后可用名称生成相应的对象实例。
    4.c++兼容C语言,在其中的这些类型被视为标准内建类型之一。

C++中struct和class的不同点

  1. 在 class 类型中,默认字段均为 private 属性;而在 struct 类型中,默认字段均为 public 属性。
  2. class 类型继承行为默认为 private 接口控制方式;而 s

全部评论 (0)

还没有任何评论哟~