namespace Instruction {
class Device_Impedance {
public:
friend std::ostream& operator<<(std::ostream& out,
const Instruction::Device_Impedance& di);
private:
unsigned int m_minimum_ohms;
unsigned int m_maximum_ohms;
};
} // namespace Instruction
上述最小化类声明朋友
operator<<
在命名空间中
Instruction
.
using namespace Instruction;
std::ostream& operator<<(std::ostream& out,
const Instruction::Device_Impedance& di) {
out << di.get_name() << " " << di.m_minimum_ohms << ", "
<< di.m_maximum_ohms << "\n";
return out;
}
上述代码定义了
操作员<&书信电报;
在全局命名空间中,它
没有
定义朋友
操作员<&书信电报;
在命名空间中
说明书
.
定义必须在命名空间中
namespace Instruction {
std::ostream& operator<<(std::ostream& out,
const Instruction::Device_Impedance& di) {
out << di.get_name() << " " << di.m_minimum_ohms << ", "
<< di.m_maximum_ohms << "\n";
return out;
}
} // namespace Instruction
或者在课堂上
namespace Instruction {
class Device_Impedance {
public:
friend std::ostream& operator<<(std::ostream& out,
const Instruction::Device_Impedance& di) {
out << di.get_name() << " " << di.m_minimum_ohms << ", "
<< di.m_maximum_ohms << "\n";
return out;
}
private:
unsigned int m_minimum_ohms;
unsigned int m_maximum_ohms;
};
} // namespace Instruction