什么是结构的非成员?

时间:2016-02-20 20:34:51

标签: c++ struct

在作业中,我被要求从结构中取一个成员函数并使其成为该结构的非成员,但我不知道这意味着什么,并且似乎无法得到一个答案。我当然不希望它为我完成,所以有没有人可以解释他们对我的要求,所以我可以把剩下的都搞清楚了?

1 个答案:

答案 0 :(得分:3)

非成员函数f,其接受名为T&的{​​{1}}类型的参数,例如t与成员函数void f(T& t)非常相似,只是void T::f()*this取代。最大的区别在于它无法访问该类型的t成员,但默认情况下这是优势,因为它增强了封装

(当然,除非碰巧是private。从封装的角度来看,非成员friend函数与成员函数非常相似,而非非成员函数非friend函数。)