我已经四处寻找有关会员和非会员功能之间差异的描述,虽然我仍然很困惑,但我想我会举一个例子来为我解决问题一点点。这是来自我们的教师给我们作为学习材料的旧测试的问题:
假设我们有一个main()程序,它使用我们文本中的queue2.h和node2.h模板实现,创建一个字母队列(队列字母)。
(b)我们应该这样做<<会员还是非会员? 私人,公众,朋友,还是两者都没有?
(b)我们应该让Get_Front成为会员还是非会员? 私人,公众,朋友,还是两者都没有?
我猜测第一个应该被实现为具有朋友功能的非会员,但我不确定具体是什么?
非常感谢!
答案 0 :(得分:0)
(b)我们应该这样做<<会员还是非会员?私人,公众,朋友,还是两者都没有?
会员,公众。 您创建一个队列对象并重载插入运算符作为成员函数。它可用于将字符插入队列。
原因:我们希望在队列流中插入,而不是在cout等外部流中插入。 最好的做法是尽可能使用成员函数。只有在不能使用会员时才应使用朋友。
Get_Front()成为公共成员函数。
答案 1 :(得分:0)
很难说不知道上面描述的程序的真正目的。我可以给你一些一般的答案。
制作一个功能
至于会员&对于非会员而言,再一次很难说不知道 有关实施的详细信息。如果函数必须访问类的私有成员,则它必须是成员函数。