为什么这堂课没有错误?

时间:2015-10-10 08:10:51

标签: c++ class private public

enter image description here

#include <iostream>
using namespace std;

Class ITEM{
private:
    int cnt;

public:
    ITEM(){}

    void func(ITEM a){
        a.cnt = 10;
    }
};

int main(){
    return 0;
}

我认为红线会出错。 因为&#39; a.cnt&#39;价值是私人价值。 我了解到必须在课堂内修改私有价值。

1 个答案:

答案 0 :(得分:1)

void func(A a){
    a.cnt = 10; //valid
}

注意函数在类中,因此它成为成员,类成员函数可以访问私有成员。

请注意,它正在使用成员函数在类ITEM内部进行修改,这是完全有效的