zoukankan      html  css  js  c++  java
  • C++-类的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
  • 相关阅读:
    后渗透
    Msf小结
    安全狗文件绕过
    文件上传漏洞
    SQL Injection(Blind)
    SQL Injection
    Linux 基础整理
    Python pip升级及升级失败解决方案
    文件包含
    信息收集
  • 原文地址:https://www.cnblogs.com/dracohan/p/3720290.html
Copyright © 2011-2022 走看看