看了一些文章,总结了大概这四点,实际上是三点,两外一点说的是C++中的struct和class的区别

  • 1. C++中struct是抽象数据类型(ADT),可以将struct当成类来处理,可以包含类的所有东西,比如构造函数、析构函数、友元等,可以继承也可以实现多态,只是因为有了class一般不用。C语言中:struct是用户自定义数据类型(UDT),C语言struct不是类,不可以有函数,没有权限设置也不能使用类的特征例如public等关键字,是一些变量的集合体,可以封装数据却不可以隐藏数据。
  • 2. C++ struct里面成员初始化的形式和类是相同的,不可以直接初始化,就是不可以定义成员的时候同时初始化。C语言中struct中的某个类型(例如int)不可以直接初始化。
  • 3. C++中struct和class的区别
    (1)class中的成员默认是private,而struct的成员默认为public。
    (2)class默认的继承方式是private,而struct的默认继承方式是public。
    (3)class还可以用于表示模板类型,struct则不行。在用模版的时候只能写template 或template不能写template 。
  • 4. struct作为类的一种特例是用来自定义数据结构的。一个结构标记声明后,在C中必须在结构标记前加上struct,才能做结构类型名

c与c++的struct区别相关推荐

  1. Opensturt和Struct区别

    1 OpenStruct和Struct区别,Opestruct你需要创建时,直接给属性赋值,而Struct需要先定义属性后 ,再给属性赋值.选择哪个就看你对属性赋值的时机, 2 Struct和Open ...

  2. c++与c语言的struct和type struct区别

    struct和typedef struct区别 1 c语言 在C中定义一个结构体类型可用typedef简化声明变量语句,少写一个struct单词 //c语言定义结构体一般使用如下方式 typedef ...

  3. C/C++ struct 区别

    今天参看了louden用c编写的编译器,发现其中一些地方使用struct很奇妙.所以又研究了一下struct的区别,并发现c和c++在某些地方是有区别的. struct作为类的一种特例,是用来自定义数 ...

  4. c与c++中struct区别

    这里有两种情况下的区别. (1)C的struct与C++的class的区别. (2)C++中的struct和class的区别.       在第一种情况下,struct与class有着非常明显的区别. ...

  5. C++ class、struct区别

    一.默认访问控制不同(最主要) struct默认为public,class默认为private.这个访问控制既是指成员的默认访问属性,又指继承时默认的继承属性. 二.定义template时不同 在模版 ...

  6. struct和typedef struct区别

    分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student{int a;}Stu; 于是在声明变量的时候就可:St ...

  7. typedef struct和struct区别

    分三块来讲述: 1 首先: 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1; 如果 ...

  8. C++类class和结构体struct区别

    在C++中,没有抛弃C语言中的struct关键字,其意义就在于给C语言程序开发人员有一个归属感,并且能让C++编译器兼容以前用C语言开发出来的项目. 在C++中,struct类似于class,在其中既 ...

  9. C语言和C++中Struct区别

    在C语言中,不能以结构体名来命名变量 在C++中,可以以结构体名来命名变量 长知识了.

最新文章

  1. [Java入门笔记] Java语言基础(二):常量、变量与数据类型
  2. 关于持续集成,质量管理,工具等
  3. 后端技术:Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!
  4. Android阅读手札:第一行代码(第一章)
  5. fstab损坏无法开机的修复
  6. VBoxGuestAdditions加载不了
  7. IP地址快速切换(转)
  8. 冬瓜哥直播:小白一小时掌握机器学习底层原理
  9. java存根_如何在JUnit和Java中使用存根?
  10. BZOJ1921: [Ctsc2010]珠宝商(点分治+SAM)
  11. 降息为什么会导致货币贬值呢,为啥货币贬值利于出口
  12. 大白菜无法打开计算机硬盘,USB接口损坏了?教你windows7硬盘安装步骤图文详解!...
  13. Android QQ 登录接入详细介绍
  14. 【转】酒桌上经典劝酒词
  15. 今天给大家分享scratch与数学,小猫绘画随机多边形!
  16. C语言 java 解一元二次方程
  17. C/C++:Windows10环境下安装gcc编译器
  18. Vijos——同学排序
  19. Git 很难么?带你从头到尾捋一遍,不信你学不会!
  20. 浪迹丶黑客入坑mode1

热门文章

  1. android 11中置入第三方应用apk
  2. 【227】基本计算器II--无括号的加减乘除计算器
  3. 小码哥-斗鱼直播APP之弹出房间界面
  4. [python]bokeh学习总结——QuickStart
  5. Oriented R-CNN for Object Detection 论文解读
  6. Mysql基础——多表联查之连接查询
  7. html画圆圈原理,HTML5如何划线和画圆
  8. 碳中和大潮惊涛拍岸,科技企业如何迈入这条大江大河?
  9. 图的遍历(DFS和BFS)
  10. 上下文感知分析:对最重要的漏洞进行优先级排序