C_and_CPP 板


LINE

公司的一位前辈说要打包类别, 要考虑隐藏 data member 。 只能在 . h 档中透漏 member function. 所以给客户(PM)的必须为抽象类别, 继承的类别写在cpp档中再去实作。 此外,提供一个 new function 给客户 如: class Abstract { public: Abstract *DoSomething() const; }; Abstract *NewAbstract(…); 这样一来,客户就不知道 data member 比较无法猜出实作细节。 但指标管理会是个问题, 例如上面的 DoSomething 返回指标。 请问大家打包程式码时, 有什麽技巧呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.28.18.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1484105235.A.6BF.html
1F:推 legendmtg: 不就pimpl吗01/11 11:57
2F:推 damody: 推1楼01/11 13:44
3F:→ bachelorwhc: 你老板要给对方的是abstract class 介面是return ptr01/11 15:41
4F:→ bachelorwhc: 这不需要什麽特别打包或撰写技巧吧01/11 15:41
5F:→ bachelorwhc: 编译出来後是static或dynamic library 除非逆向工程01/11 15:43
6F:→ bachelorwhc: 否则无法知道实作细节01/11 15:44
7F:→ bachelorwhc: 指标管理部分 如果你被要求给裸指标就直接给01/11 15:44
8F:→ bachelorwhc: 需要管理的就用smart pointer01/11 15:45
9F:→ bachelorwhc: 在windows的话 之後只要给对方.h跟.lib 编译就能过01/11 15:45
10F:→ bachelorwhc: 实际执行期间就像你讲的 动态连结dll 执行环境没有01/11 15:46
11F:→ bachelorwhc: dll windows会自己警告01/11 15:46
12F:→ noodleT: 目前是用 shared prt 做,觉得有些麻烦。01/11 18:48
13F:→ noodleT: 这只是一个讨论情境,并没有真的客户需求。01/11 18:48
14F:→ noodleT: 我会再往一楼提的方向研究看看01/11 18:48
15F:→ uranusjr: 用 Pimpl 加几个 macro 用起来很简单, 也不会有你的问题01/11 20:33
16F:→ uranusjr: 最简单每个物件用一个 unique_ptr 指向实作时就好, 除非01/11 20:35
17F:→ uranusjr: 想做 copy-on-write 才会比较麻烦, 但那就是另外的问题01/11 20:35
18F:→ firose: 不能用 smart pointer 吧,客户怎麽知道 NewAbstract 是如01/11 21:16
19F:→ firose: 何以即使用哪个版本产生的?01/11 21:17
客户只要知道 Abstract 类别名就好了, 至於 NewAbstract 回传哪一个子类别指标没都关系, 只要用 Abstract* 都能接收吧? 或者是我误会你的意思?
20F:推 kwpn: pimpl或pure virtual interface01/11 21:21
※ 编辑: noodleT (36.237.86.47), 01/11/2017 22:19:38 ※ 编辑: noodleT (36.237.86.47), 01/11/2017 22:20:42
21F:→ firose: 是可以接收,但清除就有麻烦,delete 不一定能工作吧 01/11 22:53
22F:→ hylkevin: 绝对要有virtual dtor,否则delete base pointer是未定 01/11 23:41
23F:→ hylkevin: 义行为。 01/11 23:41
24F:推 kevingwn: 不用virtual dtor,而是需要成对的new/delete,因为dll的 01/12 18:50
25F:→ kevingwn: CRT和exe不一定相同 参考http://ideone.com/hHyGzP 01/12 18:50
26F:推 EdisonX: 提供另一个方式 : Linker , #1IcjMQK3 (C_and_CPP) 01/14 12:53
27F:→ EdisonX: 不是方式,是方向XD 01/14 12:55







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP