请求变量时的C++调用函数

Pre*_*sor 0 c c++ class

我之前已经看过基于mono的语言,但我很好奇这是否可以在c ++中实现.如果我有以下课程

  class test {
    public:
    int foo;
    int myfunction();
  };
Run Code Online (Sandbox Code Playgroud)

当我尝试访问foo变量时,我是否可以通过任何方式调用myfunction并返回其值?

test t;
cout << t.foo;//instead of printing the value of foo, print the return value of myfunction
Run Code Online (Sandbox Code Playgroud)

提前致谢!我用谷歌搜索了这个,但是找不到任何东西.

或者,如果没有括号,可以调用没有参数的函数吗?

哇!感谢所有输入人员.我不想要括号的主要原因是我试图使这个API与旧的非c ++ API类似.在这个类中的函数之后没有两个括号可能会使维护变得更难,但它将节省我几个小时来回答为什么Vector2.normalized必须在它之后有().

Mar*_*k B 6

是的,foo私有,只能通过公共访问方法访问,可以做任何你想做的事情.你不能按照你在C++中的要求直接做到这一点.

编辑:如果你想要你正在描述的行为选项,C++可能不是这个项目的语言.

另外我应该注意,标准库已经有一个很好的优化和调试vector,应该用于支持自己滚动(除非它只是一个练习).

编辑2:此外,如果你正在尝试这样做以节省打字,请记住,为了节省两秒钟的打字现在你要花费自己或未来的维护者四个小时的头脑搔痒调试试图弄清楚为什么它不起作用它似乎应该如此.你编写一次代码并多次阅读.

  • 所以"是",你的意思是"不". (2认同)