1、template<classT>
classMyclass{
private:Tvalue;
public:
voidassign(constMyClass<T>&x)
{
value=x.value;
}
};
2、template<classT>
classMyclass{
private:Tvalue;
public:
template<classX)
voidassign(constMyClass<X>&x)
{
value=x.getValue();
}
TgetValue()const{
returnvalue;
}
};
之后有一句话:程序1,因为X与*this的类型相同,因此可以直接存取private成员,程
序2则不可以,必须通过getValue函数实现。private关键字则意味着,除了该类型的创建者和类的内部成员函数之外,任何人都不能存
取这些成员。说的很明白了,private的限制完全是在类型层次的,而不是说只有在某个对象上调用的
成员函数才能访问
private是针对类型的
本文探讨了C++中模板类的定义及其如何访问不同模板实例中的私有成员。通过两个具体示例,对比了直接访问与通过成员函数访问私有成员的区别,并解释了private关键字的作用范围。

被折叠的 条评论
为什么被折叠?



