overloading *
overloading *
本文关键字:overloading 更新时间:2023-10-16
我想重载*运算符,以便在我的对象和双重类型/同一对象类型之间进行乘法运算。我已经让操作员超载两次
Rational operator*(const Rational&) const;
Rational operator*(double) const;
第一个例子涵盖了t1*t2的情况;
第二种情况是t1*3.8474;
但我想涵盖第三种情况,即3.8474*t1;
我该怎么做?我的想法告诉我,为了做到这一点,我需要重载double-type*运算符,但我不知道这是否可能?
您可以通过重载全局operator*()
:来执行3.8474 * t1
Rational operator*(double, const Rational&);
一般来说,我通常用全局函数重载运算符,而不是用成员函数重载运算符。例如,您拥有的成员函数可以与以下全局函数等效地实现:
Rational operator*(const Rational&, const Rational&);
Rational operator*(const Rational&, double);
相关文章:
- Overloading C++
- C++ Overloading Macros
- 通过Overloading Operator []访问自定义数组包装器中的元素
- Overloading new
- 如何修复MSVC++(Microsoft Visual studio)中"macro overloading"的可变参数宏相关问题?
- 从输入文件中读取c ,具有iStream Operator Overloading
- overloading [] and , c++11
- 错误C2244无法将函数定义与CPP // Operator Overloading中的现有声明匹配
- Overloading STD :: Whow()无法转换const char*
- Overloading Iostream C++
- C++ "overloading"第二个默认函数参数
- Operator= overloading
- Class overloading?
- Overloading+运算符必须采用无参数链表或单参数链表
- C++ class iostream overloading
- 类 "overloading"
- Overloading a macro
- Overloading == and !=
- C++ double *() () { } overloading?
- overloading *