首页 > 代码库 > 类的const成员变量
类的const成员变量
当类中用到一些固定值时,希望将其定义为const成员变量,防止被修改。
但因为const成员变量因为初始化之后就不能修改,因此只能在构造函数的初始化列表中初始化
如果是数组,则没有办法在初始化列表中初始化,必须定义为static,放在类外定义
例子:
//const_array.h #include <iostream> using namespace std; class Base{ public: Base() : _cia(1){cout << "Base constructor was called" << endl;} void get(); private: const int _cia; static const int _ciaa[10]; }; class Derive : public Base{ }; //const_array.cpp const int Base::_ciaa[10] = {0,1,2,3,4,5,6,7,8,9}; void Base::get() { cout << "the value of _cia is: " << _cia << endl; cout << "the value of _ciaa is: " << endl; for(int i = 0; i < 10 ; i++) cout << _ciaa[i] << endl; } //const_array_client.cpp #include <iostream> #include "const_array.h" using namespace std; int main(){ Derive d; d.get(); return 0; }
输出:
Base constructor was called the value of _cia is: 1 the value of _ciaa is: 0 1 2 3 4 5 6 7 8 9
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。