假设您定义了两个类:
class A {
double a;
A(double d)
{
a = d;
}
};
class B {
double b;
B(A a)
{
b = exp(a.a);
}
};
然后假设您希望有一个执行以下操作的 main:
A a(3.14);
B b(a);
print(b.b) // 23.1......
a.a = 2.71
print(b.b) // 15.1......
除了动态评估之类的东西之外,我不确定该怎么调用它。如果使用 C++ 可以做到这一点,它叫什么?
很抱歉这个问题含糊不清,但我不知道如何更好地描述它。
最佳答案
您似乎想在B
中存储A
的引用。工作示例:
#include <iostream>
#include <cmath>
struct A
{
double value;
};
class B
{
A& a_;
public:
B(A& a) :a_(a) { }
double value() {return std::exp(a_.value);}
};
int main()
{
A a{3.14};
B b(a);
std::cout << b.value() << '\n'; // 23.1039
a.value = 2.71;
std::cout << b.value() << '\n'; // 15.0293
}
关于c++ - 在 C++ 中是否有与此等效的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57260280/