私有变量被访问而不出错,为什么?
#include<iostream>
using namespace std;
template <class T>
class MyClass
{
private :
T value;
public :
MyClass(T v)
{
value=v;
}
void assign(const MyClass<T>&x)
{
value=x.value////////////////////////////////////////////////////////////////////////
}
void show()
{
cout<<value<<endl;
}
};
int main()
{
MyClass<double>*d=new MyClass<double>(4.00);
MyClass <double>*e=new MyClass<double>(10.00);
// MyClass <int>i;
d->assign(*e);
d->show();
e->show();
//d.assign(i);
cout<<"game over!"<<endl;
}
这个例子中最后是正确的,只是不明白,为什么在//////////一行里的x.value可以调用而没错(value是私有变量)???