美文网首页
C++ 类相关的常量constant

C++ 类相关的常量constant

作者: 美玉东番 | 来源:发表于2019-08-12 03:39 被阅读0次

            常量表示一种定义后就不能再修改的量,比如在C中我们常常用const来标志某些量是不可修改的,但是实际上,在C中我们可以使用指针偷偷修改,所以,通过学习,我也认为它在C中,只是作为一种建议性修饰而存在的。

    看见没,被修改了

            现在我们来说说C++中的const,在C++中,我们定义了某种常量,然后想通过指针修改...

    看见没,直接报错了

            在C++中,我们定义了const常量,他就是一个const常量,即便是指针很厉害,但C++规则不允许修改,我们就没办法修改,因为会编译不通过。

    继续类的常量:

    定义一个整型常量

            C++中说了,常量就是一种固定值,程序运行过程中无法被修改。上图使用const定义了一个整型常量,所以从它诞生以后就无法再次被赋值。值得注意的是:常量必须在创建时被初始化,这就表明了常量的赋值时间点,过后不待。

    定义double类型的常量 常量对象关注点

            和基本的数据类型一样,类这个构造数据类型(又说自定义数据类型),也可以被const关键词修饰。类的成员变量一般初始化过程在构造函数内进行。若类成员变量没有被带参构造类型初始化,那就必须有一个默认构造类型进行初始化。否则,这将会造成编译错误,编译器会阻止这种非法行为。

            常量对象一旦被构造函数初始化,成员变量就不能再修改。不仅是说直接修改公开成员变量,通过内部函数也不能修改。

            也就是说,在常对象的生命周期内,它的成员变量是不能被修改的。

    常函数的实现

            只有非常对象才能访问非常函数,反言之,常对象不能访问非常函数,只能访问普通函数或其他。常对象可以调用常函数来执行一些任务,也就是说常对象很孤独,不能修改成员变量,也不能调用普通成员函数。

            常函数的声明和定义,如图中代码块,声明中const放在分号前。定义中const放在大括号前小括号后。这就是常函数声明和定义的重点了。

    实例化和调用

            实例化常对象时,const的调用和普通数据类型相似,调用常函数和普通对象没什么差异。参考上图中代码块。

    使用时注意

            常对象调用普通成员函数会出错,常对象修改成员变量也会出错。

            常成员函数修改成员变量也会出错。

            const主要核心是为了防止一些不愿意被修改的数据被修改,因此,C++设置const关键词,也记住文章开始说的两个点,C中为建议性,C++为绝对性,并且只能在初始化时赋值,此后再也不能被修改。

            到此,总结完成。

    ––共享知识,迎接未来,我是美玉东番大人。

    相关文章

      网友评论

          本文标题:C++ 类相关的常量constant

          本文链接:https://www.haomeiwen.com/subject/ejoejctx.html