夕阳_武士
2016-03-09 08:30
采纳率: 64.3%
浏览 2.6k

C++的类内部函数修改调用成员变量问题

class A{
public:

        void func1()
        {
                //m
        }
        void setnumber(int x1)
        {
                    a1=x1;
        }
        int getnumber()
        {
                    return a1;
        }
        int func2()
        {
                    b1=getnumber();
        }

private:
int a1;
int b1;
};
想要实现func1产生一个值m,并把这个值通过函数setnumber赋给成员变量a1,然后其他函数func2通过调用getnumber函数得到a1将其赋给b1。这样的功能实现吗???

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • Jimbo 2016-03-09 09:12
    已采纳

    正常的实现过程应该是使用类来封装数据,即私有成员,通过定义公有成员方法来间接访问数据,这样逻辑就控制在类内部了。

    点赞 打赏 评论
  • Jimbo 2016-03-09 08:52

    你不怕把自己写晕吗!

    点赞 打赏 评论
  • Jimbo 2016-03-09 09:11

    类内部当然可以对成员进行修改了

    点赞 打赏 评论
  • lx624909677 2016-03-09 13:59

    void func1()
    {
    a1 = m;
    }
    这么写了之后就可以了,至于这个m可以用形参传递,也可以在函数内部计算得到

    点赞 打赏 评论
  • John_ToDebug 2016-03-10 04:42

    肯定可以呀,不过接口暴露得太多了,不符合高内聚低耦合特性,

    点赞 打赏 评论

相关推荐 更多相似问题