C ++访问函数参数私有变量

时间:2014-06-09 16:22:45

标签: c++ oop

 class Container{



private:
    int num_;

public:

    Container(): num_(1)
    {};

    void add(Container other){
        num_+=other.num_;
    }

    int get_num(){
        return num_;
    }

    void set_num(int n){
        num_=n;
    }

};

在上面的示例中,other.num_可以访问...为什么?由于私有修饰符,它不应该是不可访问的吗?

1 个答案:

答案 0 :(得分:2)

一个类总是可以访问它自己的成员,无论它具有哪个成员变量的访问修饰符 private:只有班级才能访问 protected:只有派生类可以访问
public:每个人都可以访问
如果你写:

class Container{
private:
    int num_;
}

每个对象都可以访问同一个类的任何其他对象的私有成员,因为c++访问修饰符用于不属于该类的每个对象的类。