在C++中链接类中2个变量的方法

tri*_*ker 1 c++

假设我想让一个类中的一个变量始终与另一个变量处于某种关系而不明确地更改"链接"变量.

例如:int foo总是比int bar小10.

这样做,如果我改变了bar,foo也会改变.有没有办法做到这一点?(整数溢出实际上是不可能的,所以不要担心它.)

示例:(显然不起作用,但理解的一般代码)

class A
{
    int x;
    int y = x - 10; // Whenever x is changed, y will become 10 less than x
};
Run Code Online (Sandbox Code Playgroud)

Jam*_*lis 8

不,你做不到.这样做的最佳选择是使用accessor和mutator成员函数:

int getFoo()
{
    return foo_;
}

void setFoo(int newFoo)
{
    foo_ = newFoo;
}

int getBar()
{
    return foo_ + 10;
}

void setBar(int newBar)
{
    foo_ = newBar - 10;
}
Run Code Online (Sandbox Code Playgroud)

  • 你不必弄清楚......詹姆斯只是告诉你如何. (9认同)