C++中成员函数调用私有变量访问疑义
C++中成员函数调用私有变量访问疑问
原来在搞JAVA的~~现在没事想学习一下C++,在看C++Primer4th一书中在讲成员函数时有一个疑问,如下:
class Sales_item {
public:
// operations on Sales_item objects
double avg_price() const;
bool same_isbn(const Sales_item &rhs) const
{ return isbn == rhs.isbn; }
// private members as before
private:
std::string isbn;
unsigned units_sold;
double revenue;
};
该例子中isbn是类的私有成员变量,为什么函数same_isbn中的rhs引用能直接使用私有变量呢?新手勿喷~谢谢
------解决方案--------------------
c++ 中的访问控制是针对类的,不是类对象。
原来在搞JAVA的~~现在没事想学习一下C++,在看C++Primer4th一书中在讲成员函数时有一个疑问,如下:
class Sales_item {
public:
// operations on Sales_item objects
double avg_price() const;
bool same_isbn(const Sales_item &rhs) const
{ return isbn == rhs.isbn; }
// private members as before
private:
std::string isbn;
unsigned units_sold;
double revenue;
};
该例子中isbn是类的私有成员变量,为什么函数same_isbn中的rhs引用能直接使用私有变量呢?新手勿喷~谢谢
------解决方案--------------------
c++ 中的访问控制是针对类的,不是类对象。