当前位置: 首页 > news >正文

C语言的结构体和C++的结构体 差异

1.结构体内部成员函数

在 C 语言中,我们不能在结构体内部定义成员变量。但在 C++ 中,结构体不仅可以拥有成员变量,还可以拥有成员方法。

2.直接初始化

在 C 语言中,我们不能直接初始化结构体成员变量。但在 C++ 中可以这样做。

#include <stdio.h> 
  
struct Record { 
    int x = 7; 
}; 
  
int main() 
{ 
    struct Record s; 
    printf("%d", s.x); 
    return 0; 
}

3.使用 struct 关键字

在 C 语言中,在定义结构体变量时,我们需要使用 struct 关键字。在 C++ 中,关键字 struct 不是必须的。

在 C 语言中,我们定义结构 Recode 变量时必须使用  “struct Record” 。

在 C++ 中,我们可以我们可以省略 struct,直接写成 ‘Record‘ 也能正常工作。

4.结构体中的构造函数

在 C 语言中,结构体内部不能包含构造函数,但在 C++ 中,可以含有构造函数。

#include <stdio.h> 
  
struct Student { 
    int roll; 
    Student(int x) 
    { 
        roll = x; 
    } 
}; 
  
int main() 
{ 
    struct Student s(2); 
    printf("%d", s.roll); 
    return 0; 
}

总结

 其实就是面向过程和面向对象的思想。

http://www.dtcms.com/a/83297.html

相关文章:

  • 分析K8S中Node状态为`NotReady`问题
  • MySQL 中,聚合函数、连表查询、GROUP BY、ORDER BY、LIMIT 和 HAVING
  • XSS基础靶场练习
  • 数学建模 绘图 图表 可视化(3)
  • PDF文件转Markdown,基于开源项目marker
  • Mybatis—01
  • 在 Spring Boot 结合 MyBatis 的项目中,实现字段脱敏(如手机号、身份证号、银行卡号等敏感信息的部分隐藏)可以通过以下方案实现
  • 13、STL中的unordered_set使用方法
  • 探索MCP-我的学习与实践笔记
  • 基于WebAssembly的浏览器密码套件
  • [AI速读]如何构建高效的AMBA协议检查器(Checker IP)
  • DockerTLS加密/不加密传输
  • GitLab CI/CD学习教程(第二章Runner)
  • vpc网络之间的关系
  • 游戏引擎 Unity - Unity 顶部菜单栏(文件、编辑、资源、游戏对象、组件、服务、窗口、帮助)
  • 区块链技术的应用场景和优势
  • 【汽车开发工具选型指南】Jama Connect® for Automotive解决方案解析
  • Powershell WSL Windows系统复制数据到ubuntu子系统系统
  • element 样式记录
  • Unity音频混合器如何暴露参数
  • vue/H5图片压缩/压缩后上传
  • Java集合框架深度剖析:从数据结构到实战应用
  • 【计算机网络】网络简介
  • AI 生成 PPT 网站介绍与优缺点分析
  • 天地图InfoWindow插入React自定义组件
  • OpenHarmony子系统开发 - 电源管理(一)
  • 可视化图解算法:链表相加( 两数相加)
  • LabVIEW软件长时间运行导致蓝屏问题排查与优化
  • SpringCache小记
  • CentOS 7 设置 Nginx 开机自启(使用 Systemd)