QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1492|回复: 7

[求助]C++里, struct, class, union的区分.

[复制链接]
发表于 2003-1-16 13:48:30 | 显示全部楼层 |阅读模式
哪位仁兄可以指点一下struct, class, union在C++里的用法, 区别, 和使用的心得啊? 最好有些好的例子一并列出来. 多谢了.
发表于 2003-1-16 14:05:45 | 显示全部楼层

Re: [求助]C++里, struct, class, union的区分.

[quote:d92db12c09="HOUSCOUS"]哪位仁兄可以指点一下struct, class, union在C++里的用法, 区别, 和使用的心得啊? 最好有些好的例子一并列出来. 多谢了.[/quote]

小弟理解:
Struct & Class 的区别不是很大。只是在Struct里的所有变量和函数都是Public的。Struct里没有Private。
Union 里的不同类型的变量是共用一段内存的。当具体使用的时候,只是其中的一个变量在使用。

不至各位高人有何见解。
回复

使用道具 举报

发表于 2003-1-16 21:15:53 | 显示全部楼层
我认为,struct和union是在基于过程开发的思想中产生的,在c语言设计的时候,我们会大量的用到。
class是面对对想设计的产物,在用c++开发的时候,我们尽量还是以class为主,他也并不会牺牲多少速度,带来的是很高的模块化,清晰度,和复用能力。
回复

使用道具 举报

发表于 2003-1-16 22:04:12 | 显示全部楼层
老爸叫struct
老妈叫union
儿子叫class
class可以继续生,叫派生
回复

使用道具 举报

发表于 2003-1-17 14:25:20 | 显示全部楼层
在c++里struct自动处理为全public的class
和class没用本质的区别
在很多c++教程里说这只是照顾一些程序员的习惯,所以不推荐使用struct
回复

使用道具 举报

发表于 2003-1-17 16:38:28 | 显示全部楼层
class 和 struct 是一回事,不信的话,你也可以向struct中添加构造函数。struct中的成员是public的,如果添加成员函数的话,没有声明为public的就会按照private处理。C++编程思想说的
回复

使用道具 举报

 楼主| 发表于 2003-1-18 02:17:12 | 显示全部楼层
谢谢几位, 也就是说在缺省的情况下, 在struct里成员是public的, 在class里是private的. 但是我们也可以通过declaration来改变其到底是private还是public喽? 另外, 在struct里是不是常用的是数据而不是函数呢?

[code:1]
class TimeType
{
      int hrs;
      int mins;
      int secs;
public:
      void Set ( int, int, int );
      void Increment ();
      void Write () const;
      bool Equal ( TimeType ) const;
      bool LessThan ( TimeType ) const;
};[/code:1]
回复

使用道具 举报

发表于 2003-1-18 23:34:41 | 显示全部楼层
在c语言设计中,经常会用来存放,函数指针。
在c++中,为了统一和清晰度还是少用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 12:30 , Processed in 0.039787 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表