gpt4 book ai didi

c++ - 区分变量值的多个实例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:53:21 26 4
gpt4 key购买 nike

class foo{

public:
double v1, v2, v3;
double x, y;

foo(const double &a){
set_var();

x = a;

if(a == v1)
y = 1;
else if(a == v2)
y = 0;
else if(a == v3)
y = 2;
}

void set_var(){
// v1, v2 and v3 will always be the same values as the corresponding double values
// that foo a,b and c are being set to in main()
v1 = 1.4;
v2 = 1.4;
v3 = 1.4;
}

};

在主函数中:

main(){
foo a = 1.2, b = 1.2, c = 1.2;
}

本质上,当我们尝试将“foo a、b、c”设置为相同的 double 值(因此“v1、v2、v3”也是相同的值)时,我希望这段代码执行的操作是 foo a=1.4 给出 a.y=1,foo b=1.4 给出 b.y=0,foo c=1.4 给出 c.y=2

简而言之伪代码。基本上,“foo a”应始终使用第一个 if 子句,“foo b”应始终使用第二个,而“foo c”应始终使用第三个。

作为此作业的一部分,我必须以这种方式实现主要功能。它不能改变。

我的第一个想法是,即使我尝试将 foo a,b,c 设置为同一个 double 值,那个 double 值总是在内存中占据不同的位置,不是吗?所以也许我可以以某种方式在构造函数中传入 double &x 的地址?然后设置该地址来表示 v1、v2 和 v3,而不是首先使用这些变量?

即使 double 值相等,我也只需要让代码执行我在上面几段中概述的操作。

最佳答案

由于您的问题似乎与家庭作业有关,我将向您指出 static member variables 的方向简而言之,它们是在给定类的所有实例之间共享的类变量。您可以使用这些变量中的一个或多个来跟踪实例的实例化进度。

关于c++ - 区分变量值的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446541/

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