C中的struct与C++中的struct有无大的区别??

xychzh 2010-06-07 04:39:57
除了在C++中定义对象可以省略struct声明外,有无大的区别?

网上查了下,众说纷纭。
...全文
141 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
TLL_kdtx 2010-06-08
  • 打赏
  • 举报
回复
C中的struct:成员不能是函数。没有访问级别和继承访问标号。
C++中的struct:成员可以是函数,成员默认访问级别为public。默认的继承访问标号为public。
C++中的class:成员可以是函数,成员默认访问级别为private。默认的继承访问标号为private。
CloudyKuang 2010-06-07
  • 打赏
  • 举报
回复
9楼比较全面
Liekkas 2010-06-07
  • 打赏
  • 举报
回复
我的理解是C中的struct 和 C++中的class类似
独酌逸醉 2010-06-07
  • 打赏
  • 举报
回复
在C++中struct和class都是声明类的两个关键字,只是默认的访问属性不同而已,在MFC中很多类都是用struct来声明的。
在C中struct和C++唯一的共性就是他们都是组织数据的方式,没了。
selooloo 2010-06-07
  • 打赏
  • 举报
回复
完全不同的两个DD
wangxipu 2010-06-07
  • 打赏
  • 举报
回复
错,C++中struct的成员默认是public

[Quote=引用 11 楼 zhaowenzhi1234 的回复:]
C++中class默认的是私有的,struct没有这么一说!
[/Quote]
zhaowenzhi1234 2010-06-07
  • 打赏
  • 举报
回复
C++中class默认的是私有的,struct没有这么一说!
mace11111 2010-06-07
  • 打赏
  • 举报
回复
学习,学习。
ClassDan 2010-06-07
  • 打赏
  • 举报
回复
C中的struct:成员不能是函数。没有访问级别和继承访问标号。
C++中的struct:成员可以是函数,成员默认访问级别为public。默认的继承访问标号为public。
C++中的class:成员可以是函数,成员默认访问级别为private。默认的继承访问标号为private。
wade_2003 2010-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xychzh 的回复:]
引用 2 楼 pengzhixi 的回复:
C里面的不能有函数,无所谓的访问限制。


听说C++里的struct几乎就是一个class,可以有构造函数,析构函数,成员函数,甚至可以继承。
而C语言里的struct只能是一系列数据,不能有成员函数。
[/Quote]
是这样的
xychzh 2010-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pengzhixi 的回复:]
C里面的不能有函数,无所谓的访问限制。
[/Quote]

听说C++里的struct几乎就是一个class,可以有构造函数,析构函数,成员函数,甚至可以继承。
而C语言里的struct只能是一系列数据,不能有成员函数。
Poptang 2010-06-07
  • 打赏
  • 举报
回复
C++中的struct可以当成类使用,c中就是个结构体。。。这样理解起来比较简单
starcat 2010-06-07
  • 打赏
  • 举报
回复
据说,C++只是为了跟C兼容才保留struct的,不然的话就不需要struct关键字了
tsh185 2010-06-07
  • 打赏
  • 举报
回复
C++ 中的 struct 其实是个 class 与 class 的区别是 默认 struct 为 public
liutengfeigo 2010-06-07
  • 打赏
  • 举报
回复
C++与C的这个东西差别很大啊~
C______++
pengzhixi 2010-06-07
  • 打赏
  • 举报
回复
C里面的不能有函数,无所谓的访问限制。
CrySleeper 2010-06-07
  • 打赏
  • 举报
回复
"C++中定义对象可以省略struct声明"这个很大么?
本文介绍了在Microsoft Visual C++ 6.0环境下对RS-232-C串行端口进行编程,以及对后台监控程序所普遍涉及到的无阻塞后台运行、数据的实时接收和处理等问题的解决方法。   (一) 界面风格   由于是实时监控软件,那就既要监测从外设传来的实时数据,又要通过串口向外设发送一些具体的指令以控制外设完成预先设定的动作。为了方便向串口发送命令可以在工具条上再加一个类似于"Internet Explorer 浏览器"风格的对话条,可以在初建工程时指定"Internet Explorer ReBars"风格,也可以通过添加Microsoft Visual C++ 6.0自带的"Dialog Bar"组件来实现。而要及时将从外部读取的数据显示给管理人员,并且留有相当记录以备查阅,可以选择列表视图来实现。   (二) 串口的参数设置及打开   对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件。而且由于场合不同、用途、功能的不同对串口也采取不同的配置方式,为了使本程序更灵活,适应面更广,采取将所有的可能参数都预先设置在几个组合框,可以在程序运行后随时更改设置。自定义一个设置串口参数的数据结构: typedef struct tagCOM_CONFIG { int nPort; file://端口号,从COM1到COM4 int nBaud; file://波特率,从1200bps到57600bps(对应的宏为CBR_1200到CBR_57600) int nData; file://数据位个数,7位或是8位 int nStop; file://停止位个数,可以是1位、1.5位、2位。 int nParity;//采取的校验方式,有无校验(NOPARITY)、 file://奇校验(ODDPARITY)和偶校验(EVENPARITY)等。 }COM_CONFIG;

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧