c++ - 如何重载嵌套类的运算符?

标签 c++

我正在编写一个链表,我的 List 类中有一个 Iterator 类。 我想重载 = 运算符,但我不知道启动它的正确语法。

这是我的代码

class List{
   //member stuff
   class Iterator{
       private: Node* current;
       public: Iterator& operator=(const Iterator& right);
       }
 }

我正在尝试这个,但我不确定这是否正确。

List::Iterator::operator=(const Iterator& right){
 //stuff
}

谁能澄清一下?

最佳答案

澄清一下,你的想法是正确的,但是你忘记了在你的函数声明中有一个返回类型:

List::Iterator::operator=(const Iterator& right){
 //stuff
}

需要

List::Iterator& List::Iterator::operator=(const Iterator& right){
 //stuff
}

关于c++ - 如何重载嵌套类的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241631/

相关文章:

c++ - 将参数作为 std::string 或 const std::string& 传递?

c++ - QObject* 和 void* 之间的转换

c++ - GStreamer 管道在 gst_element_get_state 上挂起

c++ - 如何截断 HWND 标题

c++ - 为可变参数模板中给定的所有类型添加模板特化

c++ - 如何安装 Audiere?

c++ - 为什么编译器在下面的例子中没有选择我的函数模板重载?

c++ - 无法调试到源代码

c++ - 使用 SSL 通配符证书验证主机

c++ - "fastfwd"文件可以是管道/套接字/fifo