实现虚拟运算符
虚拟运算符的需求
自由函数的困境
出现这个问题是因为运算符
通过间接解决方案
要解决此困境,考虑添加一个封装所需输出行为的虚拟成员函数:
<code class="cpp">class MyClass { public: virtual void print(ostream& out) const; // Virtual output function };</code>
具有虚拟行为的自定义运算符
使用虚拟成员函数,您可以定义运算符
<code class="cpp">ostream& operator<<(ostream& out, const MyClass& mc) { mc.print(out); // Calls the virtual print function return out; }</code>
此方法为运算符维护正确的参数顺序
以上是为什么我不能创建 `operator的详细内容。更多信息请关注PHP中文网其他相关文章!