c++ - 在cpp中动态更改属性值

标签 c++ c

我有一个结构:

struct Person{
  int scoreone;
  int scoretwo;
  int scoretotal;
}
main(){
  Person a;
  a.scoreone=3;
  a.scoretwo=5;
  //and later 
  a.scoreone=10;
}

我希望在不使用任何函数的情况下更改 Scoreone 和 Scoretwo 时更新 ScoreTotal。 谢谢

最佳答案

这在 C++ 中是做不到的。处理此问题的 C++ 方法是将 Scoretotal 转换为方法

struct Person{
    int scoreone;
    int scoretwo;
    int scoretotal() { return scoreone + scoretwo; }
};

现在,不再说 person.scoretotal,而是说 person.scoretotal(),每次都会重新计算总分。

关于c++ - 在cpp中动态更改属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20143545/

相关文章:

c++ - 如何有效地计算小于或等于给定数字的 2 的最高幂?

c++ - header 包含和编译器错误

c++ - 在 Java 中具有非常深和非常浅的继承树的效率劣势?

c - 如何复制 "casted"字符串中的字符?

c# - 如何从 native C .dll 导出结构定义以在 C# 中使用

c++ - 没有数据成员和大括号语法的类的默认复制构造函数

c++ - 变量在调用 lambda 之前被销毁

c - strtok 导致段错误,但在单步执行代码时则不会

c - 如何使用 MPI_Gather 从包括主节点在内的不同处理器收集不同长度的字符串?

c - 将 int 拆分为单个数字。如何处理零