现在我在这里有一个我想要了解的代码片段。我认为只有朋友的功能可以访问私有成员变量,那么为什么方法' grad'能够访问' a'在这里得到它的大小?
#include <vector>
using namespace std;
class Polynom{
private:
vector<double> a;
public:
Polynom(const vector<double>& v): a(v) {}
int grad() { return a.size()-1; }
};
int main()
{
return 0;
}
答案 0 :(得分:0)
问问自己,如果私人会员访问取消了其他同类课程的资格,私人领域的重点是什么?你声明一个潜在的复杂对象,然后字面上无法对它做任何事情?您有一个可以与自身交互的私有区域,但这对任何面向公众的功能都没有任何影响?您使用私有结构作为中间人来写入您随后使用的公共字段?这些场景都没有那么有意义。访问修饰符保护类免受外部影响,但OOP模型假定程序员将在类中自己处理。 值得注意的是,有一种情况是无法访问私有成员:继承。基类私有变量存在于派生类中,但不能直接引用。需要明确的是,这些是基类&#39;私有变量。子类具有自己的私有范围,可以在其中声明并正常访问。