社区
新手乐园
帖子详情
关于结构体封装的问题
pgmvo
2010-10-12 11:33:45
有个结构体Student
typedef struct Student
{
int a;
int b;
.....
/// 还有有很多成员
};
有两个地方同时用到这个结构体,
现在其中有个用到这个结构体的地方需要在这个结构体中加一个字段string stu_name;
但是另外一个地方不需要用到这个字段,如果把这个字段直接加到这个结构体,那么
两个地方都需要重新测试,比较麻烦。
请问有什么办法可以解决这个问题吗?
...全文
151
12
打赏
收藏
关于结构体封装的问题
有个结构体Student typedef struct Student { int a; int b; ..... /// 还有有很多成员 }; 有两个地方同时用到这个结构体, 现在其中有个用到这个结构体的地方需要在这个结构体中加一个字段string stu_name; 但是另外一个地方不需要用到这个字段,如果把这个字段直接加到这个结构体,那么 两个地方都需要重新测试,比较麻烦。 请问有什么办法可以解决这个问题吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
云博士的AI课堂
2010-10-12
打赏
举报
回复
如果你用c++,可以用继承,但是按你说的情况,加进去也可以啊,不能太死
pgmvo
2010-10-12
打赏
举报
回复
可以变也可以不变,像上面两位提的意见都可行
只是我想要一种合理的做法,或者说一般这种情况下大家会怎么做。
[Quote=引用 6 楼 petewong 的回复:]
那么现在问题就来了:
1.你想修改原有内存结构;
2.在应用的地方,你还是希望能够应用原来的内存结构
你是既希望它改变,又不希望它改变
那你是希望它变不变?
[/Quote]
petewong
2010-10-12
打赏
举报
回复
那么现在问题就来了:
1.你想修改原有内存结构;
2.在应用的地方,你还是希望能够应用原来的内存结构
你是既希望它改变,又不希望它改变
那你是希望它变不变?
pgmvo
2010-10-12
打赏
举报
回复
请问继承的话要怎么设计
[Quote=引用 4 楼 flatfoosie 的回复:]
引用 2 楼 pgmvo 的回复:
这样的话相关到student这个结构体操作的地方就要有比较多的改动,
而且封装性不好,相同属性的变量为什么不放在同一个结构体里面。
引用楼主 pgmvo 的回复:
有个结构体Student
typedef struct Student
{
int a;
int b;
.....
/// 还有有很多成员
};
有两个地方同时用到……
[/Quote]
flatfoosie
2010-10-12
打赏
举报
回复
[Quote=引用 2 楼 pgmvo 的回复:]
这样的话相关到student这个结构体操作的地方就要有比较多的改动,
而且封装性不好,相同属性的变量为什么不放在同一个结构体里面。
引用楼主 pgmvo 的回复:
有个结构体Student
typedef struct Student
{
int a;
int b;
.....
/// 还有有很多成员
};
有两个地方同时用到这个结构体,
现在其中有个用到这个结……
[/Quote]
这样的话 不会 俺坐等高手了,。、
不过最初用继承来设计,就方便多了吧。
flatfoosie
2010-10-12
打赏
举报
回复
typedef struct Student2 {
Student in_student;
string stu_name;
}
pgmvo
2010-10-12
打赏
举报
回复
这样的话相关到student这个结构体操作的地方就要有比较多的改动,
而且封装性不好,相同属性的变量为什么不放在同一个结构体里面。
[Quote=引用楼主 pgmvo 的回复:]
有个结构体Student
typedef struct Student
{
int a;
int b;
.....
/// 还有有很多成员
};
有两个地方同时用到这个结构体,
现在其中有个用到这个结构体的地方需要在这个结构体中加一个字段string stu_name;
但是另外一个地方不需要用到这个字段,如果把这个字段直接加到这个结构体,那么
两个地方都需要重新……
[/Quote]
petewong
2010-10-12
打赏
举报
回复
再定义一个结构体 加入那个字段
pgmvo
2010-10-12
打赏
举报
回复
各位高手帮帮忙
billlllyove
2010-10-12
打赏
举报
回复
[Quote=引用 6 楼 petewong 的回复:]
那么现在问题就来了:
1.你想修改原有内存结构;
2.在应用的地方,你还是希望能够应用原来的内存结构
你是既希望它改变,又不希望它改变
那你是希望它变不变?
[/Quote]
#6正解.
利用C++模板的C到Lua简易
封装
库
自己完成的,简易的C到Lua简易
封装
库,取名LuaMe,利用了C++模板,只支持C语言的函数和
结构体
的
封装
。支持指针形式的数组访问,支持
结构体
封装
,支持以
结构体
指针形式作为参数和返回值。支持一级指针。理论上支持多级指针。压缩包里的LuaMe是
封装
库,LuaSDL2是利用该库
封装
的SDL1.2的一些函数和
结构体
(CodeBlocks),可以作为参考代码。源代码行数相当小,可以作为自己实现
封装
的参考。想
封装
C++类的话原理类似。如果遇到疑问可以尝试阅读源代码。如果确实需要,有使用疑问可以发邮件likier@sina.cn,话说我的CSDN博客莫名奇妙的被封了……
接口
封装
_通过填写
结构体
中的参数来补充命令
接口
封装
_通过填写
结构体
中的参数来补充命令
关于在 C 语言
结构体
中使用函数指针的
问题
结构体
是 C 语言中一个非常重要的自定义数据类型,它描述了一系列相同类型或不同类型数据构成的数据集合。但是在 C 语言的
结构体
成员却不能是函数,针对这一
问题
,本文分析探讨了将函数指针作为
结构体
成员的理论和方法。通过在
结构体
中定义函数指针类型的成员,从而实现了在
结构体
中使用函数的目的。
数据
封装
—
结构体
.pptx
数据
封装
—
结构体
.pptx
OPC DA服务器DLL底层
封装
详解:通过定义
结构体
实现TAG与值的传输及服务器功能集成,OPC DA服务器DLL底层
封装
详解:通过定义
结构体
实现TAG与值的传输及服务器功能集成,OPC DA服务器D
OPC DA服务器DLL底层
封装
详解:通过定义
结构体
实现TAG与值的传输及服务器功能集成,OPC DA服务器DLL底层
封装
详解:通过定义
结构体
实现TAG与值的传输及服务器功能集成,OPC DA服务器DLL文件,已对底层进行
封装
。 只需要将TAG和值定义为
结构体
便可传入SDK函数中,实现服务器功能。 懂的人一看便明白怎么同工程结合。 ,OPC DA服务器DLL文件;底层
封装
;TAG和值
结构体
;SDK函数;服务器功能实现;工程结合。,OPC DA服务器DLL文件
封装
,快速定义TAG值
结构体
接入工程功能实现
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章