gpt4 book ai didi

c++ - 为类设置返回值?

转载 作者:行者123 更新时间:2023-11-30 03:59:13 25 4
gpt4 key购买 nike

所以我一直在四处寻找帮助,但一无所获。有没有办法将类作为变量传递并让它引用该类的成员?

例如而不是

myclass foo; 
foo.Bar = 0.0f;
Func(foo.Bar); //Func takes in a float.

如果我希望 Func 了解 Bar 而无需我直接在函数内部或外部使用访问运算符。几乎就像一个自动二传手。

我希望能够做到这一点..

myclass foo; 
foo.Bar = 0;
Func(foo); //Func takes in a float.

有没有办法让 Func 像这样从 foo 中拉取 Bar

提前谢谢你。

最佳答案

你可以在你的类中添加一个隐式转换函数:

struct myclass
{
float Bar;

operator float() const { return Bar; }
// ^^^^^^^^^^^^^^^^^^^
};

然后,只要需要 float,您就可以使用 myclass 类型的对象:

myclass x;
extern void f(float);
f(x); // OK

隐式转换通常不是一个好主意,这种设计似乎不是很有用,并且可能会以您最终会后悔的方式污染您的代码库,但在没有上下文的情况下,这将按照您的要求进行。

关于c++ - 为类设置返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030252/

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