gpt4 book ai didi

c++ - 在数值表达式中最方便地使用数值包装类的选项有哪些?

转载 作者:行者123 更新时间:2023-11-28 00:13:10 25 4
gpt4 key购买 nike

假设我有一个带有一些“额外功能”的数值包装类:

struct DblWrapper{
double value;
void func1(); // maybe to print nicely
void func2(); // maybe to register this for automatic capture at data source
}

现在,我还想在数值表达式中尽可能方便地使用这个包装器的实例,例如:

DblWrapper a;
DblWrapper b;
DblWrapper d;
double c = a * b; // Best idea: overload operator () ( c = a() * b() )
d = c; // Best idea: overload operator =

或者实际上是否有一种方法可以全自动转换为 c = a * b 示例中给出的数值?

最佳答案

编写转换运算符和转换构造函数。

operator double() const
{
return value;
}

DblWrapper(double d) : value(d)
{
}

Live example

关于c++ - 在数值表达式中最方便地使用数值包装类的选项有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com