2 ad hoc nw ad_hoc_NW 于 2016.03.09 16:30 提问

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个回答

WinsenJiansbomber
WinsenJiansbomber   2016.03.09 17:12
已采纳

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

WinsenJiansbomber
WinsenJiansbomber   2016.03.09 17:11

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

lx624909677
lx624909677   Ds   Rxr 2016.03.09 21:59

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

WinsenJiansbomber
WinsenJiansbomber   2016.03.09 16:52

你不怕把自己写晕吗!

ad_hoc_NW
ad_hoc_NW 我这只是抽象了这样的一个例子,项目中的函数调用太多了,所以想知道能不能实现!
接近 2 年之前 回复
John_ToStr
John_ToStr   Rxr 2016.03.10 12:42

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!