C++之构造函数初始化列表存在的必要性

来源:互联网 发布:mac nestopia键位设置 编辑:程序博客网 时间:2024/05/17 04:04

大家都知道C++中初始化列表是
用来给数据成员赋初值的
但是 C++ 为什么大费周章的
做一个初始化列表功能?
构造函数完全能效劳啊,相信很多人
也有同样的疑问
其实 初始化列表必然有他存在的意义
下面举个例子

class Circle{public:    Circle(){Pi= 3.14} //编辑器报错,const不能被修改private:    const double Pi; //因为π是定值,所以用const修饰}

但是我们想给Pi赋值 但是又不想存在语法错误
此时 我们可以使用初始化列表

class Circle{public:    Circle():Pi(3.14){}private:    const double Pi; }

这样写就不会存在语法错误 并且可以正常编译了

原创粉丝点击