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