大家讨论一下,用虚基类怎么样?(100分送上)

admireO 2002-04-19 11:39:08
我现在需要做网络方面的项目,要用到多次继承,而且一个类的基类不止一个,但这些多次继承下来的类,可能都需要调用底层的一个自己写的Socket类(这个类是自己写的)我一方面想把这个Socket类做成所有类的虚基类(这样调用起来可能会方便些),也想把网络层和其他代码分开写,这样可能可移植性会好些.大家给说说,用虚基类实现有没有什么好处?或者还是分开好?
...全文
37 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
admireO 2002-04-29
  • 打赏
  • 举报
回复
谢谢大家的关注,呵呵,又让我长进了不少.
ActiveLF 2002-04-23
  • 打赏
  • 举报
回复
从根本上,你还是从设计上下点功夫!我觉得这样比较好,(不过时间紧张除外:))。等你设计到了一定的阶段。你自然会感受到什么东西应该怎么做。象你说的把socket做成所有类的基类,那本身说明你没有吧问题看清楚。除非真是这个需要。
freezingfire 2002-04-23
  • 打赏
  • 举报
回复
这种情况下根本不适合用继承的方式啊,从根本上违反OO的精神。这是典型的has-a,个人意见,在你所有类的基类中放一个socket类指针类型的成员变量,或者干脆把socket类中要用到的函数变成static的。
admireO 2002-04-22
  • 打赏
  • 举报
回复
谢谢afsfop
请大家继续关注
T34 2002-04-20
  • 打赏
  • 举报
回复
同意楼上,虚拟继承对效率的确有影响,但即使没有,从概念上说,你的所有类都是一种Socket吗?
如果不是,为了重用Socket类的代码的话,还是用聚合比较好吧。
admireO 2002-04-20
  • 打赏
  • 举报
回复
其实Socket类以下的东西与Socket类没一点关系,只是为了调用Socket成员函数发送和接收数据。为了发送和接收数据方便,才让Socket类作为所有类的虚基类。
rovoboy 2002-04-20
  • 打赏
  • 举报
回复
感觉Socket做成虚基类没必要。
admireO 2002-04-19
  • 打赏
  • 举报
回复
谢谢回复,今天我说这个东西效率不行,没人支持我:)

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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