社区
新手乐园
帖子详情
关于结构体封装的问题
pgmvo
2010-10-12 11:33:45
有个结构体Student
typedef struct Student
{
int a;
int b;
.....
/// 还有有很多成员
};
有两个地方同时用到这个结构体,
现在其中有个用到这个结构体的地方需要在这个结构体中加一个字段string stu_name;
但是另外一个地方不需要用到这个字段,如果把这个字段直接加到这个结构体,那么
两个地方都需要重新测试,比较麻烦。
请问有什么办法可以解决这个问题吗?
...全文
148
12
打赏
收藏
关于结构体封装的问题
有个结构体Student typedef struct Student { int a; int b; ..... /// 还有有很多成员 }; 有两个地方同时用到这个结构体, 现在其中有个用到这个结构体的地方需要在这个结构体中加一个字段string stu_name; 但是另外一个地方不需要用到这个字段,如果把这个字段直接加到这个结构体,那么 两个地方都需要重新测试,比较麻烦。 请问有什么办法可以解决这个问题吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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语言中的类 但是
结构体
中不能
封装
函数,只能有数据成员 这个程序演示了如何像c++的类一样在
结构体
中增加函数 如果有错误,欢迎交流
C#调用C++
封装
成DLL的
结构体
及类库.rar
C#调用C++
封装
成DLL的
结构体
及类库, 使用数据结构类型, 使用动态库调用方式,函数入参为
结构体
,返回参数为
结构体
,使用out,ref 传统参数
串口编程函数和
结构体
串口编程函数和
结构体
串口编程函数和
结构体
接口
封装
_通过填写
结构体
中的参数来补充命令
接口
封装
_通过填写
结构体
中的参数来补充命令
C# 7.2中
结构体
性能
问题
的解决方案
主要给大家介绍了关于C# 7.2中
结构体
性能
问题
的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章