use*_*343 9 c++ operator-overloading
class MyClass;
int main()
{
float a = 5;
MyClass c1;
MyClass c2 = a*c1;
MyClass c3 = c1*a;
}
Run Code Online (Sandbox Code Playgroud)
如何重载乘法运算符以使*c1和c1*a都有效?
Luc*_*ore 21
像这样:
MyClass operator* (float x, const MyClass& y)
{
//...
}
MyClass operator* (const MyClass& y, float x)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
第二个也可以是成员函数:
class MyClass
{
//...
MyClass operator* (float x);
};
Run Code Online (Sandbox Code Playgroud)
前两个选项用作类范围之外的声明.
| 归档时间: |
|
| 查看次数: |
28763 次 |
| 最近记录: |