文章目录

  • 1、常引用
    • 1.1、作用
    • 1.2、说明
  • 二、常对象
    • 2.1、作用
    • 2.2、注意
    • 2.3、说明
  • 三、常对象成员
    • 3.1、作用
    • 3.2、说明
  • 四、常成员函数
    • 4.1、说明
    • 4.2、注意

1、常引用

1.1、作用

常引用所引用的对象不能被更新。

1.2、说明

常引用的说明形式:
const 类型& 引用名

例如:

int a;
const int& b=a;// b是常引用,不允许被更改
b=2;            // 错误

二、常对象

2.1、作用

常对象中的数据成员值在对象的整个作用域内不能被更改。

2.2、注意

常对象中的数据成员为常量且必须要有初值

2.3、说明

常对象的说明形式:
类名 const 对象名[(参数表)];

const 类名 对象名[(参数表)];

三、常对象成员

3.1、作用

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

3.2、说明

常对象成员的说明形式:

class A{public:...private:const int a;  //常数据成员const int b;const int c;
};

四、常成员函数

4.1、说明

常成员函数的说明形式:
类型 函数名(参数名) const;

4.2、注意

const 是函数类型的一个组成部分,因此在声明函数和定义函数时都要有关键字 const。在调用时不用加 const。

示例代码如下:

#include<iostream>
using namespace std;
class sample{public:sample(int i,int j){x=i;y=j;}void show()         //定义普通成员函数 show(){cout<<x<<endl;}void show() const   //定义常成员函数 show(){cout<<y<<endl;}private:int x,y;
};
int main()
{sample a(1,2);         //定义普通对象 aa.show();              //调用普通成员函数 show()const sample b(1,2);   //定义常对象 bb.show();              //调用常成员函数 show()return 0;
}

输出结果

1
2

从上例中,有两个同名的成员函数 show(),一个是普通成员函数,另一个是常成员函数,它们是重载的。所以,关键字 const可以被用于对重载函数进行区分。

C++学习(六) 常引用、常对象、常对象成员、常成员函数相关推荐

  1. C++中的常引用、常对象、常函数、常数据成员

    1.常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改.常引用的声明形式为:const 类型说明符 &引用名. ...

  2. 常引用、常对象和对象的常成员

    常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.我们经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改. 常引用的声明形式为:const 类型说明符 &引用名 ...

  3. 【C++---16】常指针和常引用

    Coordinate coor1(3,5); //定义一个普通对象const Coordinate &coor2 = coor1; //coor2是对象的常引用const Coordinate ...

  4. 12.4 C++常引用

    C++对象常引用 在C++中,常用常指针和常引用作函数参数,既能保证数据安全,使数据不能被随意修改,在调用函数时又不必建立实参的拷贝. 用常指针和常引用作函数参数,可以提高程序运行效率. 在C++中, ...

  5. “约见”面试官系列之常见面试题之第六十八篇之本地对象 内置对象 宿主对象(建议收藏)

    首先解释下宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序.如:web浏览器,一些桌面应用系统等.即由web浏览器或是这些桌面应用系统早就的环境即宿主环境. ...

  6. C++之临时对象、常引用和浅拷贝探究

      和结构体一样,一个类的对象也可以以值,指针或者引用的形式作为函数的参数或返回值.一般情况下,为了避免创建临时对象通常传对象的引用,并且为了避免在函数体内修改对象的值,通常使用常引用:     co ...

  7. C++中的常对象与常引用

    目录 一.常对象 二.用const修饰的类对象 1.常成员函数 声明 注意 三.常引用 1.声明 2.应该在何时使用: 1.在函数中无需改变其值的参数,应该使用常引用. 2.复制构造函数的参数一般也宜 ...

  8. C++入门学习:引用和常引用

    在C中有个关键字typedef 用来给类型(int, char *, double....)取别名,但不能给变量a取别名(int a:) 在C++新增了一个概念:引用--给空间取别名(变量名a就代表了 ...

  9. 常引用、常量指针、指针常量、指向常量的常指针、空指针与野指针解释

    1.一.基础知识 引用并非对象 引用必须初始化 引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起 类型要严格匹配 int &a = 10; //错误:引用类型的初始值必须是 ...

最新文章

  1. ZZULIOJ 1898: 985的数字难题 【水题】
  2. mysql中修改字段的类型
  3. 大型“数码管”解决方案:用了 28 个舵机的时钟,到底有什么特别?
  4. 算法 | 尺度不变特征变换匹配算法 Scale Invariant Feature Transform (SIFT)
  5. jdk8 接口抽象类区别_JDK 8时代的抽象类与接口
  6. 迭代器模式和Java
  7. android 人脸识别_小模型,高精度!小视科技推出极致轻量型人脸识别SDK
  8. 【压力测试】Jmeter基础3
  9. Tensorflow学习笔记1----基础分类模型
  10. H5 表格标签基本使用
  11. Android WorldWind的使用与添加Geoserver影像(一)
  12. erp采购总监个人总结_ERP采购总监总结
  13. 判断四张扑克牌能否凑成24点游戏算法
  14. 注塑模具有哪些必须要知道的,了解一下
  15. centos7.5安装
  16. 理财——优质生活的第一步
  17. python 函数进阶_python之函数进阶
  18. [USACO18DEC]Fine Dining
  19. leetcode 1037. 有效的回旋镖(三点共线问题)
  20. Could not GET 'http://jcenter.bintray.com/com/github/dcendents/android-maven-gradle-plugin/2.1/andro

热门文章

  1. Python3、selenium实现自动化会议室预订程序
  2. 串口通讯隔离利用光耦隔离的问题
  3. 攻防世界-misc-warmup题解
  4. VR全景创业为了把控风险,如何选择加盟公司?
  5. Node.js 新手入门
  6. SpringMVC的运行流程(一)
  7. 什么是软件工程-基础概念
  8. Python的新手如何配置适合自己的开发环境?
  9. 基于AWR实现STATSPACK报告(1-系统负载)
  10. 谷粒商城-商城业务(首页渲染和nginx)