为什么私有成员不能被访问

#include <iostream>
using namespace std;
class Matrix{
	public:
		Matrix(){
			for(int i=0;i<2;i++){
				for(int j=0;j<3;j++){
					m[i][j]=0;
				}
			}
		}
		friend Matrix operator +(Matrix &,Matrix &);
		friend ostream & operator<<(ostream &,Matrix &);
		friend istream & operator>>(ostream &,Matrix &);
	private:
		int m[2][3];
}; 
Matrix operator +(Matrix a,Matrix b){
	Matrix c;
	for(int i=0;i<2;i++){
			for(int j=0;j<3;j++){
				c.m[i][j]=a.m[i][j]+b.m[i][j];
			}
		}
	return c;
}
ostream & operator<<(ostream &out,Matrix &a){
	for(int i=0;i<2;i++){
			for(int j=0;j<3;j++){
				out<<a.m[i][j];
			}
			out<<endl;
		}
	return out;
}
istream & operator>>(istream &in,Matrix &b){
	cout<<"input the matrix:"<<endl;
	for(int i=0;i<2;i++){
			for(int j=0;j<3;j++){
				in>>b.m[i][j];
			}	
		}
	return in;
}
int main() {
	Matrix a,b,c;
	cin>>a;
	cin>>b;
	cout<<"Matrix a:"<<endl<<a<<endl;
	cout<<"Matrix b:"<<endl<<b<<endl;
	c=a+b;
	cout<<"Matrix c:"<<endl<<c<<endl;
	return 0;
}

 

私有就是不希望别人看到,就像你有多少钱只有你知道一样。编程语言提供了public,protected和private三种不同权限的访问控制,完全能够满足各种要求,既然定义为private就是不想让外面的类或者对象直接访问该成员,算是一种保护