Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 班级申报问题_C++ - Fatal编程技术网

C++ 班级申报问题

C++ 班级申报问题,c++,C++,从以下代码片段: CClassA& CClassA::operator =(const CClassA& rhs) { return; } 我有以下问题: 它是一个班级成员吗 &是什么意思 rhs是什么意思?(我只知道它的意思是“右手边”) const是什么意思 1)这是一名班级成员。您正在尝试重载运算符=。经过 它在这个话题上得到了更多的帮助 2) &表示您正在传递引用 3) rhs表示右手侧 4) const在这里表示常量的正常语义,即您不想更改rhs端 最重要的

从以下代码片段:

CClassA& CClassA::operator =(const CClassA& rhs)
{
     return;
}
我有以下问题:

  • 它是一个班级成员吗
  • &
    是什么意思
  • rhs
    是什么意思?(我只知道它的意思是“右手边”)
  • const
    是什么意思
  • 1)这是一名班级成员。您正在尝试重载运算符=。经过 它在这个话题上得到了更多的帮助

    2) &表示您正在传递引用

    3) rhs表示右手侧

    4) const在这里表示常量的正常语义,即您不想更改rhs端

    最重要的是,当你 c a类、b类; 然后a=b; 那么这就相当于打电话 a、 操作员=b

  • 它是一个“成员函数”。它实际上是一个重载赋值运算符,用于定义将
    CClassA
    的一个实例赋值给另一个
    CClassA
    实例时要执行的操作。e、 g

    卡萨福; CClassA酒吧; foo=bar;//这将调用重载赋值运算符

  • 本例中的
    &
    表示“参考”。也就是说,该函数返回一个
    CClassA
    引用,并将一个
    const CClassA
    引用作为参数。这与传递值相反,传递值将向函数发送
    CClassA
    实例的副本。引用只传递实例的地址,以避免复制实例的开销

  • 是的,“rhs”表示右侧。在我的例子中,
    foo=bar
    ,实际上是说
    foo.operator=(bar)

  • const
    在这种情况下表示一个常量引用。这意味着
    rhs
    不会在功能内更改


  • 正如@Seth Carnegie所评论的,这段代码不会编译。您需要返回一个
    CClassA&
    ,但您没有返回任何内容。

    请注意,这不会编译。另外,在这种情况下,
    &
    的意思是“参考”而不是“地址”。你应该有一个详细的解释,从长远来看,通过互联网/猜测/尝试和错误学习会对你造成伤害。@GMan:很好。了解这些东西真的很重要,否则将来会有大量的心痛和挫折等着你。从一本好的教科书上学习总比从各种网络资源上拼凑知识要好。谢谢,从长远来看,我会附上一本好书。只是想在某些情况下更快地找到解决方案。谢谢,非常详细的解释。