const 用在函数后
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。C++支持常量性不同的重载,例如下面的GetData函数。
#include "Test.h" Test::Test(void)
{
data=;
} Test::~Test(void)
{
}
const int Test::GetData() const
{
int y=;
//return y++; 这个可以,因为y不是成员变量
//return data++;编译不通过,data是成员变量,不可以在函数内改变
return data;
}
int Test::GetData()
{
return ++data;//成员函数后面没有const,可以修改成员变量的值。
}
const 对象调用const 成员函数,no const调用 no const成员函数。
int main(int arg,char * agrs)
{
const Test* test=new Test(); Test* testno=new Test();
int data=test->GetData();
std::cout<<"const"<<data<<endl;
std::cout<<"no const"<<testno->GetData()<<endl; getchar();
return ; }
结果是:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG0AAAA0CAIAAAAPGyE+AAABsUlEQVR4nO2XbXKDIBCGvW5v1Ws0H4Y0vUCi+TiD4B36o1NnlYDLdlVs3mfeH8ggrk9gIsXHuRnkHaRTPPX4BhIJeixAEvCoAzzqAI86rMij6bN0OX2W9cjXMXCXncoFPSa5oINzXJIRj6FN9LQ/suk440eldGMy3dohj/7vr9v2L+NQj6n3zgHHI0XRl8DjYFUy752DGTyGOmUeBffOQQ77miOFucYXQ/d/xm9H5im8VRbH9El80YlZ0Xd41sCjDvCoAzzqAI86wKMO8KjDy3pU/gLdnBualXpMlaL/Jf8PPCZJmepEtLk0NIPzNf9cKCg9cr4Uj08qiTOSS9yj/9RQm1PxFG1mGZGqdJjTY6j/j77gUTK/35mFx+2loVn1vubbmcKjpRn12F2mFh1aRyEpSc/l12M8OK8wTsijzuyvw7ayNPAoZFfZLvAoh3rcwaMYeNRhX1kaeBSyry0NPAqBRx3K2tLAo5CydjTwKORwdYerK38Dj0J+PHaBRyHm6mjgUYi5ORp4FGJu7kgCj0KO8KjC572lgUch8KjD6d7SwKOQ06OlgUchX4+WBh5lfAPZvtlwi+RFFgAAAABJRU5ErkJggg==" alt="" />
const 用在函数后的更多相关文章
- (转)Const,Const函数,Const变量,函数后面的Const
本文转自http://www.cnblogs.com/Fancyboy2004/archive/2008/12/23/1360810.html 看到const 关键字,C++程序员首先想到的可能是co ...
- const 放在函数后
const 放在函数后表示这个函数是常成员函数, 常成员函数是不能改变成员变量值的函数.const 限定符,它把一个对象转换成一个常量.举例:为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数 ...
- [Reprint]C++函数前和函数后加const修饰符区别
c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义.今天来讲讲const加在函数前和函数后面的区别.比如: 01 #include<iostr ...
- C++函数前和函数后加const修饰符区别
class Test(){ public: Test(){} const int foo(int a); const int foo(int a) const; }; 一.概念 当const在函数名前 ...
- cpp 常量函数(函数后加const)
const用在成员函数后 主要是针对类的const 对象 如: class Text{ public: void printconst(void)const{cout<<" ...
- C++ 成员函数前和函数后加const修饰符区别
博客转载自: https://www.iteblog.com/archives/214.html 分析以下一段程序,阐述成员函数后缀const 和 成员函数前const 的作用 #include< ...
- 【VS开发】【C++开发】const在函数前与函数后的区别
const在函数前与函数后的区别 一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = ...
- const放在函数前和放在函数后
template < class T, class container = vector<T> > class MyClass{ private: T value; publi ...
- C++ 函数后加const
1.非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)2.表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中, 任意修改它所在的类的成员的操作都是 ...
随机推荐
- JS函数——作用域
一 : 作用域的相关概念 首先看下 变量作用域 的概念:一个变量的作用域是程序源代码中定义这个变量的区域.————————<javascript权威指南>第六版全局变量拥有全局作用域,函数 ...
- matlab求方差,均值,均方差,协方差的函数
1. 均值 数学定义: Matlab函数:mean >>X=[1,2,3] >>mean(X)=2 如果X是一个矩阵,则其均值是一个向量组.mean(X,1)为列向量的均值,m ...
- JSON对象和字符串的互相转换
1.JSON.parse; 作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象) 语法:JSON.parse(text [, reviver]) text 必选. 一 ...
- [Python] 应用kNN算法预测豆瓣电影用户的性别
应用kNN算法预测豆瓣电影用户的性别 摘要 本文认为不同性别的人偏好的电影类型会有所不同,因此进行了此实验.利用较为活跃的274位豆瓣用户最近观看的100部电影,对其类型进行统计,以得到的37种电影类 ...
- 通过jpegoptim批量压缩文件
#!/bin/sh filelist=$(ls) for file in $filelist do if [ -d $file ] then du -h $file /usr/local/bin/jp ...
- Azure 为 SAP 提供的增强监控解决方案
正如大家在之前公告中所看到的,多个SAP应用程序已获得认证可在 Azure虚拟机中运行,未来还会有更多 SAP应用程序获得认证.对于希望在 Azure中运行 SAP应用程序的客户来说,这是个激动人心的 ...
- xrdp的rdp前端无法连接Windows 2008的问题
xrdp使用rdp前端,无法连接2008,但连接2003是可以的.连接2008的时候,会在客户端发送Client Info PDU后主动RST掉连接.如下图 开始以为是客户端发送Client Info ...
- 【翻译】Microsoft Ajax Minifier 快速使用指南(与VS集成使用) 编译后直接压缩项目的JS或CSS文件
网上找了好久终于找到一个能跟VS集成使用的JS和CSS压缩工具,因为害怕忘记,所以给转发过来,顺便翻译一下,大学那会儿学的英语基本上都已经还给老师了,所以翻译的不太好,不过能看懂就成,对吧? 原文地址 ...
- android 计时器,倒计时
自己定义CountDownTimer /** * 计时器 * @author Administrator * */ class TimeCount extends CountDownTimer{ pu ...
- tky项目第①个半月总结
增加tky项目开发组已经有半个月了,这半个月一直是伴随着加班度过,学习了不少东西,也有不少抱怨,这些都是宝贵的工作经验体会.有必要在此好好总结一下. 我是中途加进这个项目的.也就是说.组内其它人员已经 ...