首页 > 其他 > 详细

类的const成员变量

时间:2014-05-12 12:13:15      阅读:387      评论:0      收藏:0      [点我收藏+]

当类中用到一些固定值时,希望将其定义为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成员变量

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!