我搜索了各地的会员和非会员功能之间的区别的描述,虽然我还是很困惑,我想我举个例子来说明一下我的情况。下面是我们的老师给我们作为学习材料的一个旧测试的问题:选择一个功能的成员,非会员,私人,公共等
假设我们有一个main()程序,它使用我们文本中的queue2.h和node2.h模板实现,创建一个字母队列字母)。
- 我们想写一个流运算符将一个字符串(事)的所有字符插入到队列(字母< <的事情)。
(b)我们是否应该使这个< <成员或非成员? 私人,公共,朋友还是两者都不?
- 我们希望提供一个工具(称为Get_Front),该工具返回此字符队列的头指针,以供将来使用链接列表工具套件进行操作。
因此,当一切正确编码时,list_head_insert(head_ptr,'2')将在队列的前面放置一个'2'。
(b)我们应该让Get_Front成员还是非成员? 私人,公共,朋友还是两者都不?
我猜第一个应该作为一个非成员与一个朋友功能实现,但我不确定具体为什么?
非常感谢!
使需要访问私有数据成员成员函数的东西以及不需要(或不*成为成员函数)免费函数的东西。 [这是一个很好的阅读。](http://www.gotw.ca/gotw/084.htm) – chris 2013-05-13 21:29:43