关于struct的基础问题

songqing69 2004-08-14 11:36:42
请问:C++和C中的struct有什么区别?
...全文
219 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coolingverse 2004-10-02
  • 打赏
  • 举报
回复
你只要知道C++中的class由C中的struct演变而来的,基本没有什么可比性
cao12m 2004-10-02
  • 打赏
  • 举报
回复
楼上的了不起什么时候教教我啊 跟你学
somedummy 2004-10-02
  • 打赏
  • 举报
回复
回复人: libbyliugang() ( ) 信誉:100 2004-08-16 00:47:00 得分: 0


具有class功能的除了class struct 还有union


union里面不能有static成员和引用(但是某些编译器里面没有这样的限制),而且union里面的类不能有用户定义的constructor,对于class和struct是没有这样的限制的


另外,现在难得见到RookieStar的五个裤头时候的回贴了
wangjiatom 2004-10-02
  • 打赏
  • 举报
回复
C# 里面的struct可以包含简单的方法了
ywfscu 2004-10-02
  • 打赏
  • 举报
回复
在使用形式和具体功能上有很大变化
greenteanet 2004-10-02
  • 打赏
  • 举报
回复
结构是一种将数据集合成组的方法,类是一种同时将函数和数据都集合成组的方法。结构和类在表面上的唯一区别是:类中的成员在默认情况下是私有的,而结构中的成员在默认情况下是公用的。
class foo
{
private:
int data1;
public:
void func();
};
可以写成:
class foo
{
int data1;
public:
void func();
};
因为在类中默认的是私有的,所以关键字private就可以不写了。

如果想用结构完成这个类所作的相同的事,就可以免去关键字public,并将公有成员放置在私有成员之前:
struct foo
{
void func();
private:
int data1;
};
is02hua 2004-10-01
  • 打赏
  • 举报
回复
回复人: snow810211(阳光) ( ) 信誉:100


但是如果是c中,使用在定义结构变量的时候。是:
void main()
{
. .. ..
struct student me;
}



-----------------


student me;
也没什么问题吧.
libbyliugang 2004-08-16
  • 打赏
  • 举报
回复
具有class功能的除了class struct 还有union
snow810211 2004-08-16
  • 打赏
  • 举报
回复
反正我看书的时候,c++中定义一个结构可以是:
strcut student
{
int code;
};
当在定义结构变量的时候,是:
void main()
{
.....
student me;
}

但是如果是c中,使用在定义结构变量的时候。是:
void main()
{
. .. ..
struct student me;
}

Tdxdy 2004-08-15
  • 打赏
  • 举报
回复
RookieStar(★)(巴巴罗萨):
兄弟,你C++基础蛮扎实的。什么时候能达到你这水平,请指教
antijpn 2004-08-15
  • 打赏
  • 举报
回复
C语言的struct和C++的class有多大区别,C++和C中的struct就有多大区别

而且语法大不一样,语义也不一样,C里面一个struct不代表一个类型,而C++里面的struct可以代表一个类型
RookieStar 2004-08-14
  • 打赏
  • 举报
回复
区别就好像C++的class和C的struct一样,只不过这个“class”默认的成员权限为public,而C++的class默认的成员权限为private。

也就是说,C++的struct除了能有C的struct的能力之外,还有C++中class的能力,继承、重载、多态。。。

65,210

社区成员

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

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