C++ 函数声明后面的const用法
转载 http://www.cnblogs.com/xing901022/p/3413019.html
void function() const{}
通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢?
看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误
#include "stdafx.h"
#include <iostream>
using namespace std;class aa{int num;
public:aa(){int b =10;num = b;};void out1(){cout<<num<<endl;}void out2() const{cout<<num<<endl;}void out3() const{num+=10; //出错,const函数不能修改其数据成员cout<<num<<endl;}};
int _tmain(int argc, _TCHAR* argv[])
{aa a1;a1.out1();a1.out2();a1.out3();const aa a2;a2.out1(); // 错误,const的成员 不能访问非const的函数a2.out2();a2.out3();return 0;
}
在类成员函数的声明和定义中,
const的函数不能对其数据成员进行修改操作。
const的对象,不能引用非const的成员函数。
C++ 函数声明后面的const用法相关推荐
- 函数声明后面的const用法
void function() const{} 通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢? 看一下下面的例子,就知道了.直接在编译前,就会提示下面的两个错误 // ...
- 类中成员函数声明后面的const的含义
这个const一般是对类中成员函数属性的声明,但这个声明怪怪的,只能放在函数声明的尾部,大概是因为其它地方都已经被占用了.这个声明表示这个函数不会修改类中的任何数据成员.如果在编写const成员函数时 ...
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- const的用法,Const函数,Const变量,函数后面的Const
在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const成员函数中,this的类型是一个指向 ...
- 函数声明末尾的“ const”是什么意思? [重复]
本文翻译自:What is meant with "const" at end of function declaration? [duplicate] This question ...
- Const用法总结:Const,Const函数,Const变量,函数后面的Const (转)
看到 const 关键字, C++ 程序员首先想到的可能是 const 常量.这可不是良好的条件反射.如果只知道用 const 定义常量,那么相当于把火药仅用于制作鞭炮. const 更大的魅力是它可 ...
- c++中Const,Const函数,Const变量,函数后面的Const
看到const 关键字,C++程序员首先想到的可能是const 常量.这可不是良好的条件反射.如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的魅力是它可以修饰函数的 ...
- 在C++中,函数名前的const和函数名后的const的区别
首先要知道函数名后面加const只能用于成员函数. int const func(); //合法,相当于const int func(); int func2() const; //非法,对函数的co ...
- c++ 函数声明后面加上 const 有什么作用
C++在函数声明时,后面跟个const是限定函数类型为常成员函数, 常成员函数是指不能改变成员变量值的函数. 例如"double d() const;",其中的其中的"c ...
最新文章
- 2014年:这些词都快被玩坏了
- Hibernater笔记
- 苹果5g手机_5G手机即将大量上市,iPhone缺席首批5G手机,苹果为何不急?
- 5.解决UltraEdit在无网线情况下连接不到虚拟机上的问题,回环网卡设置
- ssh免密登录(普通用户和root用户)
- 安装CentOS6.8并配置网络图文解说亲测全过程
- inur new.php id,Cmsez(随易)全站系统 0day
- javascript 西瓜一期 11 二进制的数数进位解析
- java小_Java小知识点总结
- 基于JAVA+SpringBoot+Mybatis+MYSQL的社区物业管理系统
- 利用Nginx对不同的域名进行解析
- Comet:基于HTTP长连接的“服务器推”技术
- Javascript特效:封装元素动画函数
- 维码扫描之集成Zxing
- 3 个主流 Java 微服务框架,各有特色
- EXCEL快速提取中英文、数字的4个方法,总有一个适合你!
- ansys添加力矩_Ansys加力矩.doc
- Window自带的定时自动执行程序
- linux 板卡驱动开源项目Comedi使用编译流程
- 被删短信通讯运营商仍保存半年