C++ C++;运算符重载:调用默认函数
每次调用重载运算符时,是否有可能调用默认函数?C++ C++;运算符重载:调用默认函数,c++,operator-overloading,C++,Operator Overloading,每次调用重载运算符时,是否有可能调用默认函数? 例如,您有一个类,该类包含以米或码为单位的值,您希望在应用重载运算符之前检查这两个值的单位是否相等。现在,我在每个重载运算符定义中都使用了一个checkCompatibility()-函数,但是如果对于任何重载的二进制操作都会自动发生这种情况,那就很方便了。没有这样的功能,但它是为了解决单元转换问题而设计的(在编译时)。您的函数将使用数量作为参数,库将确保传入的任何内容都兼容并处理单位转换。没有此类功能,但旨在解决单位转换问题(在编译时)。您的函数
例如,您有一个类,该类包含以米或码为单位的值,您希望在应用重载运算符之前检查这两个值的单位是否相等。现在,我在每个重载运算符定义中都使用了一个
checkCompatibility()
-函数,但是如果对于任何重载的二进制操作都会自动发生这种情况,那就很方便了。没有这样的功能,但它是为了解决单元转换问题而设计的(在编译时)。您的函数将使用数量
作为参数,库将确保传入的任何内容都兼容并处理单位转换。没有此类功能,但旨在解决单位转换问题(在编译时)。您的函数将使用数量
作为参数,库将确保传入的任何内容都兼容并处理单位转换。单位是否由不同的类表示?比如,这一个是类米
的对象,而这一个是类码
的对象。不,单位信息只是另一个成员。至少对单位使用枚举。或者更好,使用单位/值对的简单类。一开始需要一些工作,但以后可能会节省很多工作。我知道这不是最好的设计,但我必须大量使用其他人的数据结构。不管怎样,谢谢你的建议。这些单元是由不同的类表示的吗?比如,这一个是类米
的对象,而这一个是类码
的对象。不,单位信息只是另一个成员。至少对单位使用枚举。或者更好,使用单位/值对的简单类。一开始需要一些工作,但以后可能会节省很多工作。我知道这不是最好的设计,但我必须大量使用其他人的数据结构。无论如何,谢谢你的建议。