1.嵌套友元的使用。友元的使用也可以表明c++并不是纯的面向对象语言。
2.句柄类的使用。c++中的访问控制允许将实现部分和接口部分分开,但实现部分的隐藏是不完全的。编译器仍然必须知道一个对象的所有部分的声明,以便正确的创建和管理它们。有些项目不可让最终客户程序员看到其实现部分。所以就有必要把一个编译好的实际结构放在实现文件中,不让其暴露在头文件中。
3.函数重载与默认参数函数的选择问题。其中的用返回值重载的思想的不合理性。占位符参数的作用,以后可以修改函数定义而不需要修改所有的函数调用。(有名参数没有使用的话编译器会警告或者错误 );当涉及到选择重载还是默认参数的时候不能光考虑效率问题,接口的简洁性等也很重要。