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_可以访问...为什么?由于私有修饰符,它不应该是不可访问的吗?
答案 0 :(得分:2)
一个类总是可以访问它自己的成员,无论它具有哪个成员变量的访问修饰符
private
:只有班级才能访问
protected
:只有派生类可以访问
public
:每个人都可以访问
如果你写:
class Container{
private:
int num_;
}
每个对象都可以访问同一个类的任何其他对象的私有成员,因为c++
访问修饰符用于不属于该类的每个对象的类。