C++:类类型引用运算符=用法

c++ : class type reference operator= usage

本文关键字:运算符 用法 引用 类型 C++      更新时间:2023-10-16

这是我的第一篇文章,请理解格式是否错误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。但是,我不太了解这里的函数类型。 为什么函数不无效?引用符号(两者(在此代码中做什么?

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

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

引用符号表示引用返回,它允许函数调用位于调用的左侧,并允许像A = B = C这样的级联赋值。

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

set(carB.a, carB.b);

函数的类型不是 void C++因为它允许如下语句:

A = B = C;

执行此语句后,所有三个变量将具有相同的值。换句话说,

A = (B = C);

这要求B=C返回与A相同类型的东西。

至于参考符号("%"(的作用,请在教科书中查找。