繁体   English   中英

在成员函数中初始化成员变量

[英]Initializing member variables in member functions

所以我现在正在实现一个c ++程序,但事实是我不知道下面的上下文是否可行。

class Foo{
     private:
          int a;
       public:
          Foo(int _a) : a(_a){

           }   

          void func(int _a) : a(_a){
              //implementation shows here
         }   
 }; 

如您在这里看到的,有一些成员函数以类似于构造函数的方式初始化成员变量。 可能吗?

不,这不可能而且意义不大:成员初始化仅在construction上执行。

func ,您将成员变量设置为其他变量, 赋值可以很好地完成此工作。

不能。初始化列表只能与构造函数一起使用。

func必须看起来像这样。

      void func(int _a) {
         a = _a; 
          //implementation shows here
     } 

显然func不能初始化引用,并且在func可以运行之前将调用Foo构造func ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM