9

我有一个头文件,其中包含一个带有赋值运算符的类。现在我想在我的 .cpp 文件中定义我的函数。

我的头文件包含:Car &operator=(const Car &other); 现在在我的 cpp 文件中,我想做类似的事情:Car::Car &operator=(const Car &other) { }

不幸的是,这似乎不是正确的语法。那么,当我将函数声明和函数定义分开时,如何定义我的赋值运算符呢?

4

4 回答 4

12

您快到了; 您需要限定函数名称以表明它是成员:

Car &Car::operator=(const Car &other) { }
     ^^^^^
于 2012-07-05T15:30:28.270 回答
4

我写我的运营商如下

in.h
Car& operator=(const Car &other);
in cpp
Car& Car::operator=(const Car &other) { }
于 2012-07-05T15:31:14.337 回答
2
Car& Car::operator=(const Car &other) { }

是要走的路。

于 2012-07-05T15:30:47.510 回答
2

正确的语法是

Car& Car::operator=(const Car& other) { }

因为operator=()具有适当参数的是成员函数。

于 2012-07-05T15:30:21.707 回答