我有一个头文件,其中包含一个带有赋值运算符的类。现在我想在我的 .cpp 文件中定义我的函数。
我的头文件包含:Car &operator=(const Car &other);
现在在我的 cpp 文件中,我想做类似的事情:Car::Car &operator=(const Car &other)
{
}
不幸的是,这似乎不是正确的语法。那么,当我将函数声明和函数定义分开时,如何定义我的赋值运算符呢?
我有一个头文件,其中包含一个带有赋值运算符的类。现在我想在我的 .cpp 文件中定义我的函数。
我的头文件包含:Car &operator=(const Car &other);
现在在我的 cpp 文件中,我想做类似的事情:Car::Car &operator=(const Car &other)
{
}
不幸的是,这似乎不是正确的语法。那么,当我将函数声明和函数定义分开时,如何定义我的赋值运算符呢?
您快到了; 您需要限定函数名称以表明它是成员:
Car &Car::operator=(const Car &other) { }
^^^^^
我写我的运营商如下
in.h
Car& operator=(const Car &other);
in cpp
Car& Car::operator=(const Car &other) { }
Car& Car::operator=(const Car &other) { }
是要走的路。
正确的语法是
Car& Car::operator=(const Car& other) { }
因为operator=()
具有适当参数的是成员函数。