Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;运算符重载:调用默认函数_C++_Operator Overloading - Fatal编程技术网

C++ C++;运算符重载:调用默认函数

C++ C++;运算符重载:调用默认函数,c++,operator-overloading,C++,Operator Overloading,每次调用重载运算符时,是否有可能调用默认函数? 例如,您有一个类,该类包含以米或码为单位的值,您希望在应用重载运算符之前检查这两个值的单位是否相等。现在,我在每个重载运算符定义中都使用了一个checkCompatibility()-函数,但是如果对于任何重载的二进制操作都会自动发生这种情况,那就很方便了。没有这样的功能,但它是为了解决单元转换问题而设计的(在编译时)。您的函数将使用数量作为参数,库将确保传入的任何内容都兼容并处理单位转换。没有此类功能,但旨在解决单位转换问题(在编译时)。您的函数

每次调用重载运算符时,是否有可能调用默认函数?
例如,您有一个类,该类包含以米或码为单位的值,您希望在应用重载运算符之前检查这两个值的单位是否相等。现在,我在每个重载运算符定义中都使用了一个
checkCompatibility()
-函数,但是如果对于任何重载的二进制操作都会自动发生这种情况,那就很方便了。

没有这样的功能,但它是为了解决单元转换问题而设计的(在编译时)。您的函数将使用
数量
作为参数,库将确保传入的任何内容都兼容并处理单位转换。

没有此类功能,但旨在解决单位转换问题(在编译时)。您的函数将使用
数量
作为参数,库将确保传入的任何内容都兼容并处理单位转换。

单位是否由不同的类表示?比如,这一个是
类米
的对象,而这一个是
类码
的对象。不,单位信息只是另一个成员。至少对单位使用枚举。或者更好,使用单位/值对的简单类。一开始需要一些工作,但以后可能会节省很多工作。我知道这不是最好的设计,但我必须大量使用其他人的数据结构。不管怎样,谢谢你的建议。这些单元是由不同的类表示的吗?比如,这一个是
类米
的对象,而这一个是
类码
的对象。不,单位信息只是另一个成员。至少对单位使用枚举。或者更好,使用单位/值对的简单类。一开始需要一些工作,但以后可能会节省很多工作。我知道这不是最好的设计,但我必须大量使用其他人的数据结构。无论如何,谢谢你的建议。