常对象与常成员函数

栏目: C++ · 发布时间: 7年前

内容简介:用const修饰的对象叫对象常量,常对象实例化后将不能被改变,而且常对象也不能调用其它成员函数,那么它有什么用呢?办法是,C++编译器故意设计成,常对象只能调用常成员函数,这是它唯一的对外接口。

1.常对象

const修饰的对象叫对象常量,其格式如下:

〈类名〉const 〈对象名〉 或者 const 〈类名〉〈对象名〉

声明为常对象的同时必须被初始化,并从此不能改写对象的数据成员。

例:分析下列错误的地方,说明理由;

错误原因在旁边已经注释。

常对象常被用在对象的引用上。所谓常引用是指说明引用时用const修饰。常引用所引用的对象不能被更新,一般用做形参。其格式:

const 〈类型说明〉&〈引用名〉

例:根据例题5-11的类给出程序的执行结果:

本程序的输出:

两点的距离是:5

2.const修饰对象:

常对象实例化后将不能被改变,而且常对象也不能调用其它成员函数,那么它有什么用呢?办法是,C++编译器故意设计成,常对象只能调用常成员函数,这是它唯一的对外接口。

2.常成员函数

const关键词说明的函数叫常成员函数。其格式如下:

〈类型〉〈函数名〉(〈参数表〉)const;

常成员函数的作用和功能:

常成员函数不能更新对象的数据,也不能调用非const修饰的成员函数。常对象只能调用类的常成员函数。

例:给出下列程序的执行结果:

本程序执行结果:

x=1 y=1

x=2 y=2

使用const关键字说明的成员函数称为常成员函数,常成员函数的说明格式如下:

<返回类型说明符> <成员函数名>(<参数表>) const;

在使用常成员函数时要注意:

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

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

(3) 常对象只能调用它的常成员函数,而不能调用其他成员函数。成员函数与对象之间的操作关系如表所示。

成员函数与对象之间的操作关系

常对象与常成员函数

(4) const关键字可以用于参与重载函数的区分。例如:

 这两个函数可以用于重载。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。

5)在const成员函数中:  

  可以修改被定义成mutable的成员变量


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析(C++版)(第3版)

数据结构与算法分析(C++版)(第3版)

Clifford A. Shaffer / 张铭、刘晓丹、等译 / 电子工业出版社 / 2013 / 59.00元

本书采用当前流行的面向对象的C++程序设计语言来描述数据结构和算法, 因为C++语言是程序员最广泛使用的语言。因此, 程序员可以把本书中的许多算法直接应用于将来的实际项目中。尽管数据结构和算法在设计本质上还是很底层的东西, 并不像大型软件工程项目开发那样, 对面向对象方法具有直接的依赖性, 因此有人会认为并不需要采用高层次的面向对象技术来描述底层算法。 但是采用C++语言能更好地体现抽象数据类型的......一起来看看 《数据结构与算法分析(C++版)(第3版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具