社区
C++ 语言
帖子详情
结构体与类有什么区别?
barry301
2006-08-29 10:00:47
求教:
结构体与类有什么区别?小弟刚学c++,请赐教!先谢了!
...全文
3493
37
打赏
收藏
结构体与类有什么区别?
求教: 结构体与类有什么区别?小弟刚学c++,请赐教!先谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
37 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kuhx
2006-10-29
打赏
举报
回复
C++中的struct在一般情况下,和c中的struct的内存布局是一样的
包括默认构造函数之类的,如果用不着,编译器不会给你生成的
justrun2005
2006-10-29
打赏
举报
回复
还有,c++中的struct内存布局尽量保留c风格。
OOPhaisky
2006-10-29
打赏
举报
回复
支持一楼的说法
alecshanhao
2006-10-29
打赏
举报
回复
哈哈
whatsblog
2006-10-28
打赏
举报
回复
mark
晨星
2006-09-11
打赏
举报
回复
于是甘草爽了,做编译器的苦了。
变量传递,异常抛出,模板实例化……总之各种情况下都得对struct和class区分对待。。
究竟怎么使用struct,是不是以完全兼容C的方式使用,应该完全是程序员自己的权利,自己的选择,何必一律定死呢?当一件事已经“可以”,何必再去“强制”呢?
这就像法律的制定,法律完全“允许”人们在国土上最大限度的自由行动,但却不会“强制”你每天都必须在各个省份之间蹿来蹿去,停一刻便要杀头。。。^0^
healer_kx
2006-09-11
打赏
举报
回复
建议把struct搞成C的struct,
不要让它们基本相等了。
Virtualsoft
2006-09-11
打赏
举报
回复
同意楼上滴
lotomer
2006-09-11
打赏
举报
回复
c++中的class和struct的唯一区别只在默认成员访问权限不同(包括默认继承权限)
class默认private,struct默认public;
daocaoren0
2006-09-11
打赏
举报
回复
楼上的,你是用什么编译的啊?
你能运行该程序?
majcos
2006-09-11
打赏
举报
回复
>在C++中只有两点区别:
>(1)class中默认的成员访问权限是private的,而struct中则是public的。
>(2)从class继承默认是private继承,而从struct继承默认是public继承。
>除此这外无任何区别。
>
>当然C中的struct跟C++中的struct的区别就大了去了。。。
从class继承默认是private继承,而从struct继承默认是public继承。
这句话似乎不妥,看如下代码:
class T1
{
public:
void f()
{
cout<<"T1::f()"<<endl;
}
int x,y;
};
struct T2
{
int x;
void f(){cout<<"T2::f()"<<endl;}
};
struct TT1 : T1
{
};
class TT2 : T2
{
};
int main()
{
TT1 t1;
TT2 t2;
t1.f();
t2.f();
}
晨星
2006-09-11
打赏
举报
回复
哦,可能想的不是很对头。
编译器已经有能力区分POD和非POD的,不管是struct还是class,都可以是POD类型。
不过嘛,既便将struct都统一视为与的POD class等同,结果搞得struct里有个string字段都不行,感觉还是挺变态的。。。。
xsm
2006-09-02
打赏
举报
回复
在C#里面的区别是,结构不能声明一个无参数的构造器,也不能对字段进行初始化。并且,他不能被继承,声明了一个结构,它就是终点(结构是通常是独立存在的,但它是继承自OBJECT基类的)。而类正好与这些相反。
perfervid
2006-09-02
打赏
举报
回复
http://www.coderlife.cn/
wxc2006
2006-09-02
打赏
举报
回复
牛, 真牛, 第一天学C++就应该在书上看到答案的这么一个问题, 引来这么多人激动的回帖.
sinkileu
2006-09-02
打赏
举报
回复
C++中它们的唯一区别就是默认为private还是public了.
我啃
2006-09-02
打赏
举报
回复
恩!好贴,结了我做FAQ
晨星
2006-08-31
打赏
举报
回复
都可以,只有C语言的结构体中才不可以定义成员函数。当然,C语言的结构体中不可以有的东西还多着呢。
菠萝丝炒鸡蛋
2006-08-31
打赏
举报
回复
好像是结构体中不能定义成员函数,类可以,^_^ ,我是采鸟,刚刚学习~~
晨星
2006-08-30
打赏
举报
回复
算我说错了好了,并非“没有意义”,只是,实在写不下了。
加载更多回复(17)
C++中
结构体
与
类
的
区别
介绍
本文详细解析了C++中
结构体
与
类
的
区别
,包括C和C++中
结构体
的不同,C++中
结构体
与
类
的访问控制、继承、多态特性对比,以及在实际编程中的应用场景建议。
【C++】
类
与
结构体
的
区别
本文详细解析了C++中
结构体
(struct)与
类
(class)的主要
区别
,包括默认访问级别、继承方式、赋值方式等方面,帮助读者深入理解两者的特性和应用场景。
C#中
结构体
与
类
的
区别
本文详细探讨了C#中
结构体
(struct)与
类
(class)的主要
区别
,包括它们的
类
型(值
类
型与引用
类
型)、内部结构、继承性以及如何在开发中进行选择。
结构体
适合轻量级对象,而
类
更适合处理复杂逻辑。
类
与
结构体
的
区别
本文详细探讨了
结构体
与
类
的主要
区别
,包括它们的数据
类
型、继承能力、成员初始化方式及构造函数等方面的不同,并讨论了何时选择使用
结构体
或
类
。
C#中
类
与
结构体
的
区别
、
结构体
与枚举的
区别
详解
本文详细介绍了C#中
类
与
结构体
、
结构体
与枚举的
区别
。
类
是引用
类
型,支持继承多态;
结构体
是值
类
型,不支持继承。
结构体
封装多
类
型数据,枚举定义命名整数常量。还给出选型建议,业务逻辑用
类
,小型高频数据用
结构体
,常量集合用枚举。
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章