社区
C++ 语言
帖子详情
关于struct的一个基础问题
beiyang9
2008-10-31 02:59:49
请教一个基础问题!
下面这个是类
struct S
{
int a;
S(){}
void fun(){}
};
那下面这个是类么,为什么?
谢谢
struct S
{
int a;
void fun(){}
};
...全文
115
14
打赏
收藏
关于struct的一个基础问题
请教一个基础问题! 下面这个是类 struct S { int a; S(){} void fun(){} }; 那下面这个是类么,为什么? 谢谢 struct S { int a; void fun(){} };
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
javascript2008
2008-10-31
打赏
举报
回复
struct就是特殊的类,它所有的成员缺省的都是public访问权限
class的成员缺省的都是private访问权限
beiyang9
2008-10-31
打赏
举报
回复
还是很乱,下面那个是可以用大括号来初始化的,说明与类还是有区别的,不追究,结贴了,谢谢大家捧场。
jia_xiaoxin
2008-10-31
打赏
举报
回复
[Quote=引用楼主 beiyang9 的帖子:]
请教一个基础问题!
下面这个是类
struct S
{
int a;
S(){}
void fun(){}
};
那下面这个是类么,为什么?
谢谢
struct S
{
int a;
void fun(){}
};
[/Quote]
C++扩展了C中的结构,使的它与类的功能几乎一样,唯一不同的是,类默认成员为private,而结构体默认成员为public.
所以上面两个都是类,不显示声明构造函数,会生成一个默认的构造函数。
chenzhp
2008-10-31
打赏
举报
回复
既然都C++了。该使用类来进行一些数据封装,这样可以支持更多的特性。
beiyang9
2008-10-31
打赏
举报
回复
那这样的话,也就是说struct与class的区别还是很大的,毕竟即使带有方法的struct也不会被强迫当成c++对象来处理。
Leejun527
2008-10-31
打赏
举报
回复
在C++中只有两点区别:
(1)class中默认的成员访问权限是private的,而struct中则是public的。
(2)从class继承默认是private继承,而从struct继承默认是public继承。
除此这外无任何区别。
再补充一点:c++中的结构体也可以包含虚函数,也可实现多态。
http://topic.csdn.net/t/20060829/10/4982729.html#
enrico
2008-10-31
打赏
举报
回复
[Quote=引用 4 楼 beiyang9 的回复:]
可能是我表述不对,那这两个结构体有本质区别么?为什么
[/Quote]
没本质区别,只不过第一个你明确定义了构造函数,所以你在定义对象的时候只能
S s;
S *s = new S;
不能S s={0};
beiyang9
2008-10-31
打赏
举报
回复
LS的意思就是这两个东西其实一样了,也就是说下面那个结构体也会提供一个默认构造函数了,不过好像不对劲啊
stardust20
2008-10-31
打赏
举报
回复
[Quote=引用 5 楼 killbug2004 的回复:]
类用class关键字,struct定义的是结构体,结构体也可以有成员函数
结构体与类的区别:
结构体中的数据默认方式是public的,而类是private的
结构体不提供继承机制,类提供继承机制,实现代码复用
类可以实现多态,结构体不支持
[/Quote]
支持
killbug2004
2008-10-31
打赏
举报
回复
类用class关键字,struct定义的是结构体,结构体也可以有成员函数
结构体与类的区别:
结构体中的数据默认方式是public的,而类是private的
结构体不提供继承机制,类提供继承机制,实现代码复用
类可以实现多态,结构体不支持
beiyang9
2008-10-31
打赏
举报
回复
可能是我表述不对,那这两个结构体有本质区别么?为什么
chenzhp
2008-10-31
打赏
举报
回复
struct也是类么?还真没有用过
晕了晕了
2008-10-31
打赏
举报
回复
在C++里,struct就是特殊的类,它所有的成员缺省的都是public访问权限
OenAuth.Net
2008-10-31
打赏
举报
回复
LZ的意思是??
假如...是类,那么下面这个是类吗???
晕,明明两个都是结构体嘛?
sizeof
struct
为什么总是
一个
问题
本文分析了Win32CryptoAPI中KeyBLOB结构的内存对齐
问题
,探讨了如何正确处理此类数据结构以避免内存访问错误,并提出了在实际开发中更加稳妥的解决方案。
rpcx传输
struct
中
一个
字段为interface{},客户传入为
struct
,服务端接收变为map[string]interface{} ---- rpcx编解码
问题
博客探讨了在rpcx中,当
struct
中包含
一个
`interface{}`字段,客户端传入
struct
,服务端接收到的是`map[string]interface{}`的
问题
。分析了可能的原因,发现官方默认编解码器会将`interface{}`转成`map[string]interface{}`,导致处理困难。目前无解,建议限制传入数据类型为已知
struct
或`map[string]interface{}`。同时提到了如何自定义编码器以应对这个
问题
。
一个
关于
struct
的
问题
本文详细介绍了C语言中结构体的定义、结构体指针的使用以及如何通过malloc函数进行内存分配。通过实例演示了如何正确地声明、初始化和访问结构体中的成员变量。
一个
含有STL的
struct
问题
本文通过分析
一个
具体的C++代码实例,深入探讨了使用malloc与new操作在创建vector对象时的不同行为,揭示了内存分配与初始化的微妙之处。
python
struct
pack
一个
数组_Python
struct
.pack的
问题
本文详细介绍了Python
struct
模块中的pack和unpack函数,用于数据结构与字节流之间的转换。这些函数在处理网络包构造和解析时尤为重要。通过format参数,可以指定数据类型和字节顺序,例如'h'代表2字节的整数。在代码示例中,依据字节顺序动态设置format,然后将长度和值转换为字节流并添加到缓冲区。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章