学习C++ 也有一段时间了,在接触完友元的概念后,一直觉得,友元这个概念破坏了面向对象设计的封装性!不知道有没有人有不一样的看法,可以和我讨论一下。而且友元的具体运用有哪些?目前我只知道在运算符重载(如cout<<)可以用到,还有其他方面的作用吗?
应该说,滥用友元会破坏封装性。但是友元的确有它的用处。比如说你在定义数据结构,LinkedList类和Node类,它们就是一对,那么相互访问私有成员是很正常的需求,用友元就很合适。