条款23:宁可用非成员,非友元函数来替代成员函数
1、非成员函数提供了更好的封装性,这个函数内不能访问类的私有成员,封装的越严密我们对类的数据就可以弹性越大的操纵,因为可见这些数据的客户越少,反之数据影响的客户也就越少。
2、c++比较自然的做法-(关系到标准库numplace的组织结构),可以把不同便捷函数放到不同Namespace去,让客户来决定要用的非成员函数功能,这是类不能提供的。
条款24:若所有参数皆需类型转换,请为此采用非成员函数。
1、如果你需要为某个函数的所有参数(包括被this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个非成员函数。
2、能通过public就完成的非成员函数不需要成为friend函数。
时间: 2024-10-12 18:56:16