zoukankan      html  css  js  c++  java
  • 每日一笔记之1:静态成员函数

    对于类的成员函数而言,非静态成员函数属于类的具体对象,而静态成员函数属于该类,对于该类的所有对象是公有的。静态成员函数的调用不需要创建该类的对象。而非静态成员函数的调用必须先建立该类。

    常成员函数:

    int GetX() const; //声明常成员函数

    常成员函数含义是通过该函数只能读取同一类中的数据成员的值,而不能修改它。
    1.常成员函数不能更新对象的数据成员
    2.当一个对象被声明为常对象,则不能通过该对象调用该类中的非const成员函数
    3.非常量成员函数不能被常量成员对象调用,因为它可能企图修改常量的数据成员:但构造函数析构函数对这个规则例外,它们从不定义为常量成员,但可被常量对象调用(被自动调用)。它们也能给常量的数据成员赋值,除非数据成员本身是常量。
    const成员函数和const对象
    实际上,const成员函数还有另外一项作用,即常量对象相关。对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以定义它们的常量对象。例如,定义一个整型常量的方法为:
    const int i=1 ;
    同样,也可以定义常量对象,假定有一个类classA,定义该类的常量对象的方法为:
    const classA a(2);
    这里,a是类classA的一个const对象,"2"传给它的构造函数参数。const对象的数据成员在对象生存期内不能改变。但是,如何保证该类的数据成员不被改变呢?
    为了确保const对象的数据成员不会被改变,在C++中,const对象只能调用const成员函数。如果一个成员函数实际上没有对数据成员作任何形式的修改,但是它没有被const关键字限定的,也不能被常量对象调用。
  • 相关阅读:
    linux安装教程
    html学习
    vscode编程nodejs初始安装
    Python 字符串前面加u,r,b的含义
    vs code中自动添加注释插件koroFileHeader
    *args和**kwargs用法
    python中map函数的用法
    Python中虚拟环境venv的基本用法
    ubuntu下安装git提示无root权限
    git连接gitee笔记
  • 原文地址:https://www.cnblogs.com/llxbl/p/4923893.html
Copyright © 2011-2022 走看看