首页 > 解决方案 > c++:类类型引用运算符=用法

问题描述

这是我的第一篇文章,如果格式不好,请理解 X)

所以,在我的课堂上,我需要使用 operator= 函数来使一个类对象等于同一个类的第二个对象。

class Car
{
private :
    int a;
    int b;
public :
    void set(int x, int y)
    {a = x;
     b = y;
    }

    void output()
    {cout << a << " " << b << endl;
    }

    Car & operator=(const Car & carB)
    {set(int c, int d);
    }
};

using namespace std;
int main()
{
 Car car1(1, 2);
 Car car2;

 car2=car1;
 car2.output();

 return 0;
}

我知道 Car & operator=(const Car & carb) 函数允许我使 car2 等于 car 1。但是,我不太了解这里的函数类型。为什么函数不是void?这段代码中的参考符号(两者)有什么作用?

我正在学习第一个计算机语言的第二个季度。请帮忙!谢谢!:]

标签: c++operator-keyword

解决方案


这被称为assignment operator,您不需要实现它,因为它默认存在。如果您在类中有指针,您可以实现自己的指针assignment operatorcopy constructor进行深拷贝而不是浅拷贝。

引用符号表示按引用返回,它允许函数调用位于调用的左侧,并允许像A = B = C.

最后一件事......你的代码assignment operator是错误的。它应该是这样的:

set(carB.a, carB.b);

推荐阅读