以前一直以为类的私有成员变量,只能在对象内部访问的,而不能通过下面例子中ob.ch那样调用的,今天发现只要是在变量的声明类中就可调用,不管是哪个对象的变量,也就是说私有访问权限是针对类的而不是针对对象的。
#include <string>
class aa{
public :
aa();
aa(const aa & ob);
private:
char *ch;
};
aa::aa(const aa & ob)
{
strcpy(ch,ob.ch);
}
aa::aa(){}
下面这样就没有权限访问了
class bb{
public :
bb();
bb(const aa & ob);
private:
char *ch;
};
bb::bb(const aa & ob)
{
strcpy(ch,ob.ch);
}
bb::bb(){}
#include <string>
class aa{
public :
aa();
aa(const aa & ob);
private:
char *ch;
};
aa::aa(const aa & ob)
{
strcpy(ch,ob.ch);
}
aa::aa(){} 下面这样就没有权限访问了
class bb{
public :
bb();
bb(const aa & ob);
private:
char *ch;
};
bb::bb(const aa & ob)
{
strcpy(ch,ob.ch);
}
bb::bb(){}
本文探讨了C++中类的私有成员变量的访问权限。指出私有成员并非仅限于特定对象访问,而是可以在该类的成员函数中访问任何对象的私有成员。并通过两个示例对比说明了这一点。


2670

被折叠的 条评论
为什么被折叠?



