24小时热门版块排行榜    

查看: 720  |  回复: 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的回帖

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的回帖
查看全部 5 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 74/3700 2026-08-16 21:05 by 医学老男孩
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
信息提示
请填处理意见