|
1
7
您可以使用友元定义,它将在类的周围命名空间中定义运算符,并使其仅对运算符重载解析可见(不能使用::operator<…语法手动调用):
另一种方法是,保持代码不变,只需让操作员<&书信电报;如果您是一个朋友,请将这一行添加到您的类定义中:
};
请注意,它是std::hex,但不是std::ios::hex
. 后者用作的操纵器标志
|
|
|
2
2
使用模板是正确的方法,但您只需确保模板位于
标题
你可以
|
|
|
3
2
无需友谊宣言:
|
|
|
4
0
为什么不使用printf方法并使用多参数方法(使用三个点…)。这仍然为您提供了很多格式化功能,并且不会像使用<&书信电报;。
请稍等两秒钟,我会为您调出一个代码示例。 编辑:
如果希望将其用作类而不是独立函数,则可以重载logger操作符(),它的工作方式也一样 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |