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。这样的功能实现吗???

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

你不怕把自己写晕吗!

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

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

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