C++ 访问控制权限
C++访问控制权限设定是针对类而言,而不是针对类的实例化成员。
C++primer 5.0中对public和private的说明。
- 定义在public说明符之后的成员在整个程序内可被访问,public成员定义类的接口。
- 定义在private说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private部分封装了(即隐藏了)类的实现细节。
- 使用class和struct定义类唯一的区别就是默认的访问权限。
最开始理解访问控制权限时,结合了运算符重载的概念,遇到了下面问题:(当初误解这个例子,以为是权限控制的问题……但现实并不是)
该处语句需要在语句前面增加描述 friend,使其申明为友元函数。
使用友元后,函数重载时,不将其视作成员函数,因此遇到 A+B时,不会将其考虑为 A.operator+(B)的形式,提高了代码使用率(对比不用友元,更灵活)。所以重载双元运算符,使用友元。
提示原因解释:这是3元运算符,有+号隐式申明了,友元就是为了上面说的原因。所以三元运算符均使用友元。