初始化与赋值的那点事。解决办法
初始化与赋值的那点事。
例子如下:
第一种构造函数有错,而第二种可以,初始化与赋值直接的区别傻傻的不清楚,希望各位能解释下,让我明白。
------解决方案--------------------
const和引用只能在初始化列表里面弄~~~
------解决方案--------------------
进入构造函数体内时,实际上变量都已经初始化完成了,构造函数内能做的只有赋值,而const类型和引用类型是不可以赋值的
------解决方案--------------------
初始化是在变量出现的时候就被赋值,是赋值的特殊形式
------解决方案--------------------
类的const成员只能被初始化,以后就不能改了
在类里面
------解决方案--------------------
恩,const 成员变量只能在初始化列表初始。
------解决方案--------------------
const类型和引用必须要初始化。之后就不能修改了
例子如下:
class ConstRef{
public:
ConstRef( int ii );
private:
int i;
const int ci;
int &ri;
};
ConstRef::ConstRef( int ii ){
i = ii;
ci = ii;
ri = i;
}
ConstRef::ConstRef( int ii ): i(ii), ci(ii), ri(i){}
第一种构造函数有错,而第二种可以,初始化与赋值直接的区别傻傻的不清楚,希望各位能解释下,让我明白。
类
c++
------解决方案--------------------
const和引用只能在初始化列表里面弄~~~
------解决方案--------------------
进入构造函数体内时,实际上变量都已经初始化完成了,构造函数内能做的只有赋值,而const类型和引用类型是不可以赋值的
------解决方案--------------------
初始化是在变量出现的时候就被赋值,是赋值的特殊形式
------解决方案--------------------
类的const成员只能被初始化,以后就不能改了
在类里面
ConstRef::ConstRef( int ii ): i(ii), ci(ii), ri(i){}//这叫初始化
ConstRef::ConstRef( int ii ){
i = ii;
ci = ii;
ri = i;
}//这叫赋值
------解决方案--------------------
恩,const 成员变量只能在初始化列表初始。
------解决方案--------------------
const类型和引用必须要初始化。之后就不能修改了