美文网首页
Class & Struct

Class & Struct

作者: BeijingIamback | 来源:发表于2016-03-19 19:58 被阅读69次

1。 字面上的区别

在字面上struct是structure的缩写,通常叫做“结构体”,在C语言里用于将多种数据、多个变量组织在一起,便于表达比较复杂的数据类型,在C++中为了兼容C语言保留了该关键字,并且保留了C语言中的所有功能。

而class,则称作“类”,是C++新增来支持面向对象思想概念中“类”的概念的一个关键词,并且比struct具有了更强大的功能,不仅可以像C语言中的struct一样把数据组织在一起,还可以将与数据相关的方法组织在一起,并增加了如虚函数、继承等特性来支持面向对象编程。

虽然在字面上struct与class的含义不一样,但在C++中其功能基本是相同的,C++中的struct不仅可以包含数据成员,而且与class一样支持新增的面向对象特性,仅在以下细节上有略微差别。

既然两者在字面上不一样,为了更好地利用这一点,建议在C++中使用struct时仍然只使用C中的特性,来表示一些复杂的数据而不进行方法的封装,这样还可以提高软件的可读性。

2。默认成员权限的区别

class默认的是private ,struct 默认的是public

3、默认的继承方式不同:class默认继承方式是private,struct是public

4、用于定义模板参数。

模板为c++新增特性,c语言没有。只有class可以用于定义参数。

相关文章

  • Class & Struct

    1。 字面上的区别在字面上struct是structure的缩写,通常叫做“结构体”,在C语言里用于将多种数据、多...

  • 数据库

    struct & class C++中的struct是对C中的struct的扩充。和class一样,struct有...

  • 类class & 结构体struct

    这里只是介绍基础,会逐步完善类calss演示。下边的Person类分别包含了属性、懒存储(懒加载)属性、静态属性、...

  • Class & Struct 的 NSCoding 一

    1.Class 类型的 NSCoding 1.1 正儿八经的使用方式 前提一定是要继承NSObject,实现NSC...

  • Lesson2

    Class 和Struct区别 Class的对象是引用类型,Struct的对象是值类型 Struct没有继承

  • Swift编程思想,Struct(结构体)

    Struct的概述 Struct相对于Class的优缺点 将Class转为Swift Struct与ObjectM...

  • OC中的class和meta-class对象的结构分析

    class和meta-class对象的类型都是 struct objc_class 结构体 struct objc...

  • 底层原理:class和meta-class的结构

    class和meta-class对象的类型都是 struct objc_class 结构体 struct objc...

  • C# Struct

    Struct 和 class 差不多,但有一些不同: struct是值类型, class是引用类型 struct不...

  • Swift 中 class 和 struct

    struct能继承么? 为什么用struct不用class? 为什么struct比class安全? 值类型和引用类...

网友评论

      本文标题:Class & Struct

      本文链接:https://www.haomeiwen.com/subject/aebhlttx.html