zoukankan      html  css  js  c++  java
  • 3-C++程序的结构1.4

    共享数据的保护

    对于既需要共享、又需要防止改变的数据应该声明为常量。

    1、常引用

    如果在声明引用时用const修饰,被声明的引用就是常引用。常引用所引用的对象不能被更新。声明形式如下:

    const 类型说明符 &引用名;

    2、常对象

    常对象时这样的对象,它的数据成员值在对象的整个生存期间内不能被改变。也就是说,常对象必须进行初始化,而且不能被更新。声明如下:

    类名 const 对象名;

    3、用const修饰的类成员

    a、常成员函数

    使用const关键字修饰的函数为常成员函数,其格式如下:

    类型说明符  函数名(参数表) const;

    注意:

    1)const是函数类型的一个组成部分,因此在函数定义部分也要带const关键字。

    2)常成员函数不能更新对象的数据成员,也不能调用该类中没有const修饰的成员函数。

    3)如果将一个对象说明为常对象,则通过该 常对象只能调用它的常才成员函数,而不能调用其他成员函数。

    4)const关键字可以用于对重载函数的区分。

    #include<iostream>
    using namespace std;
    class R
    {
    public:
    R(int r1,int r2){R1=r1;R2=r2;}
    void print();
    void print() const;
    private:
    int R1,R2;
    };
    void R::print()
    {
    cout<<R1<<";"<<R2<<endl;
    }
    void R::print() const
    {
    cout<<R1<<";"<<R2<<endl;
    }
    int main()
    {
    R a(5,4);
    a.print();//调用void print()
    const R b(20,52);
    b.print();//调用void print() const
    return 0;
    }

    b、常数据成员

    如果一个类中说明了常数据成员,那么任何函数中都不能对该成员赋值。构造函数对该数据成员进行初始化,就只能通过初始化列表。

  • 相关阅读:
    JS eval()小结
    纯JS的ajax实例
    js特效代码-鼠标样式
    JS typeof与instanceof的区别
    linux下网卡绑定
    KVM+VNC 虚拟机远程管理
    smokeping安装
    Python:字符串中引用外部变量的3种方法
    Python:模块学习——os模块
    Python:模块学习——sys模块
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6214519.html
Copyright © 2011-2022 走看看