什么是结构的非成员
What is a non-member of a struct?
在一次作业中,我被要求从结构中获取一个成员函数,并使其成为该结构的非成员,但我不知道这意味着什么,似乎无法得到答案。我当然不希望它为我完成,所以有什么方法可以解释他们对我的要求,以便我弄清楚其余的?
接受名为 t
的 T&
类型的参数的非成员函数f
,例如 void f(T& t)
,与成员函数void T::f()
非常相似,只是*this
被t
取代。最大的区别是它无法访问该类型的private
成员,但默认情况下这是一个优势,因为它增强了封装
(当然,除非碰巧是friend
。从封装的角度来看,非成员friend
函数更类似于成员函数,而不是非成员、非friend
函数。
相关文章:
- 如何在C++中定义静态成员结构
- 使用模板化类的成员结构
- 初始化固定的 C 数组成员结构
- 指向成员结构的指针如何工作
- 如何将此“指针从外部类传递到成员结构
- 导致IAR ARM中出现错误的成员结构位字段元素的Initializer列表初始化
- 映射文件中成员结构的地址
- Visual C++ 模板类成员结构初始化语法糖
- C :初始化成员结构的静态字段的正确方法
- 如何在C 类的初始化器列表中使用未命名结构初始化成员结构
- 从成员结构的成员函数中访问类的成员?
- 模板化类的成员函数无法返回指向成员结构的指针?
- 重载非类型模板结构的成员结构的复制赋值运算符
- 灵气属性传播问题与单成员结构.
- 将具有 int* 成员C++结构编接到 C#
- 复杂的班级成员结构
- 将向量成员(结构)传递给函数
- 成员结构的前向声明
- 重载运算符<<用于模板结构中定义的成员结构
- 返回带有模板化类的类成员结构