mfc中的结构体和类

fleeking 2010-08-08 08:55:50
在vc中写程序,十分不明白的一点是:
有了类这个玩意儿,为什么还要用到结构体

感觉十分不伦不类的样子
有大虾能解释下么
...全文
283 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa68454650 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 creamymami 的回复:]
因为很多老版本的函数都需要结构体参数吧
[/Quote]


正解
小小蔷薇 2010-08-20
  • 打赏
  • 举报
回复
为什么结构体也可以用::
某个struct a
a::fun(){}
这是什么道理呀,编译还出错,说a is not a class or namespace name
cwj2009 2010-08-20
  • 打赏
  • 举报
回复
使用结构体编写新的数据结构很方便的啊。
虽然类可以附带操作方法,但是觉得各有各的好处吧。
外面大多使用结构体来编写新的数据结构,因为他是基于C的,也适用于c++
wltg2001 2010-08-09
  • 打赏
  • 举报
回复
在C++中类与结构应该没有太大的区别的了,但是,C++要兼容C,所以它还得支持结构。
na_he 2010-08-09
  • 打赏
  • 举报
回复
因为有的函数参数比较多,作为结构体比较方便。
phoenix_zhou 2010-08-09
  • 打赏
  • 举报
回复
真要写成结构体的时候,写成类多麻烦啊,写成结构体多方便
Sou2012 2010-08-09
  • 打赏
  • 举报
回复
1. 在C语言中, 只有结构体的概念, 这个结构体,里面更是不能直接放函数,要用函数指针。
2. 在C++里,结构体和类99%都是一样的,唯一不一样的,就是成员(变量、函数)作用域不一样。
struct(结构体)里,默认情况下,所有的成员变量都是public的
class(类)里,默认情况下,所有的成员变量都是private的
teleinfor 2010-08-09
  • 打赏
  • 举报
回复
温习了。。。

个人的用法是结构体多用于数据,类多用于方法和操作。从习惯上看到一个结构体就知道这个是数据容器,而如果看到一个类,那么就知道需要关注这个类的方法函数以及实现的功能。而结构体就简单多了,关注其data就行了。

其他同上几个朋友的说明了。
dvlinker 2010-08-08
  • 打赏
  • 举报
回复
到底用哪个得看实际的应用场合来定的~
rolax 2010-08-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fleeking 的回复:]
我的意思是指,真的要写结构体的时候,写成类的样子不好么??
[/Quote]

那也不行啊。C中有了指针是不是可以不用数组了呢?

两个在具体的使用环境中还是有小区别的。

用户 昵称 2010-08-08
  • 打赏
  • 举报
回复
结构体比类重要。
dvlinker 2010-08-08
  • 打赏
  • 举报
回复
结构体是C发展而来的东西,C++兼容C中的结构体
--------------------------
我们现在之所以还使用结构体,我是这么理解的:
(1)结构体更侧重于数据体,而类主要侧重于方法,所以如果是包含数据变量定义的,我们就直接使用结构体,如果比较侧重于方法的实现,则使用类来实现;当然结构体重也是可以定义方法的。
(2)结构体是一种特殊的类,我们可以像一样使用,也可以像类一样继承:结构体继承结构体,类继承结构体。
(3)结构体和类的区别:
class中默认的成员访问权限是private的,而struct中则是public的;
从class继承默认是private继承,而从struct继承默认是public继承。
PapaDog_ 2010-08-08
  • 打赏
  • 举报
回复
我还是喜欢用结构体啊,一般用类封装一些较为复杂的东东。
玉古云投 2010-08-08
  • 打赏
  • 举报
回复
C++兼容C语言,且具备C语言的性能。
ColdMooon 2010-08-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fleeking 的回复:]
我的意思是指,真的要写结构体的时候,写成类的样子不好么??
[/Quote]
还得加个public:麻烦不。
creamymami 2010-08-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fleeking 的回复:]
我的意思是指,真的要写结构体的时候,写成类的样子不好么??
[/Quote]
怕初学者看不懂~
fleeking 2010-08-08
  • 打赏
  • 举报
回复
我的意思是指,真的要写结构体的时候,写成类的样子不好么??
freelaxy 2010-08-08
  • 打赏
  • 举报
回复
WINDOWS系统设计的时候,C++还没有标准, SDK里的C结构是历史留下来的.

=======================================================
FreeLaxy, your backup.
=======================================================
ColdMooon 2010-08-08
  • 打赏
  • 举报
回复
class的成员默认私有,
struct成员默认公开。
除此之外无区别。
creamymami 2010-08-08
  • 打赏
  • 举报
回复
因为很多老版本的函数都需要结构体参数吧
加载更多回复(2)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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