码迷,mamicode.com
首页 > 其他好文 > 详细

类的const成员变量

时间:2014-05-12 12:16:52      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   c   

当类中用到一些固定值时,希望将其定义为const成员变量,防止被修改。

但因为const成员变量因为初始化之后就不能修改,因此只能在构造函数的初始化列表中初始化

如果是数组,则没有办法在初始化列表中初始化,必须定义为static,放在类外定义

例子: 

bubuko.com,布布扣
//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;
}
bubuko.com,布布扣

 输出:

bubuko.com,布布扣
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
bubuko.com,布布扣

 

类的const成员变量,布布扣,bubuko.com

类的const成员变量

标签:style   blog   class   code   java   c   

原文地址:http://www.cnblogs.com/dracohan/p/3720290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!