24小时热门版块排行榜    

查看: 714  |  回复: 4

freedomice

金虫 (正式写手)

[求助] 关于c++的数据定义问题

现定义一个类,有若干数据,设为A,B,C,D,E。其中A、B需要外部赋值。C,D,E等可由A、B计算得出。
那么将A,B,C,D,E都放到私有数据里面比较好,还是讲A、B作为私有数据,C,D,E等放到公有数据的函数内部比较好呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leywong

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
freedomice: 金币+5, 有帮助, 不想外部访问。但是又感觉私有数据太多了,混乱。看来还是得私有。 2012-11-20 10:01:05

最简单的就是全部public
当然要细分的话,就看这些数据你想不想外部访问了,要访问的public,不想访问的private。
2楼2012-11-20 08:38:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ioadong

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
freedomice: 金币+5, 有帮助, 能否详解一下这样做的好处。我尚在摸索阶段,体会不到不同做法之间的差异优劣。 2012-11-20 10:05:29
类是对象的抽象。理论上来说数据域都不应该出现在public里。
以科学的理性代替天然的非理性。
3楼2012-11-20 09:21:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阳光亮男

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
freedomice: 金币+5, 有帮助, 谢谢 差不多明白了 2012-11-20 11:22:12
数据都应该设置为private,初始化数据则应该通过构造函数更好
4楼2012-11-20 10:28:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
freedomice: 金币+20, ★★★★★最佳答案, 非常感谢 解了我的主要疑惑 2012-11-20 18:51:18
说是数据都应该隐藏,不过为了写代码方便,也没有固定的要求.
多隐藏一个数据域,意味着类需要扩展至少2个函数(一个set,一个get),代码会变长,得失得自己考虑.

就你这个需求,全部隐藏a,b,c,d,e也可以,a,b作为初始化必须的参数,然后在构造函数中将c,d,e直接计算赋值即可.形如
CODE:
class Test
{
public:
        Test(int a_, int b_)
        {
                this->a = a_;
                this->b = b_;

                // 使用a和b计算c,d,e,这样类的每个实例,a,b,c,d,e都已经赋值了
        }
private:
        int a, b, c, d, e;
};

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2012-11-20 17:23:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 freedomice 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +17 Lanmanbaby 2026-08-09 29/1450 2026-08-12 00:24 by zhanghaozhu
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +3 工厂打螺丝 2026-08-08 3/150 2026-08-11 13:42 by 会议编辑
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 17/850 2026-08-11 10:50 by 要乐观耀哥
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见