类的成员函数后面加 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="" />

最新文章

  1. [Android]使用自定义JUnit Rules、annotations和Resources进行单元测试(翻译)
  2. Struts2基础数据校验和框架校验
  3. JavaScript高级程序设计笔记 事件冒泡和事件捕获
  4. Using SHOW PROCESSLIST and mysqladmin debug Output in Conjunction with SHOW INNODB STATUS
  5. RedHat Linux 下安装MPlayer 编译源代码方式
  6. 基于visual Studio2013解决C语言竞赛题之0403字符统计
  7. python开发与实战content
  8. 基于.NET打造IP智能网络视频监控系统
  9. hdu 3062 2-Sat入门
  10. [Android游戏开发]游戏框架的搭建
  11. 如何在web.xml文件中引入其他的xml文件(拆分web.xml)
  12. [开发技巧]&#183;Numpy中对axis的理解与应用
  13. Node.js学习起步
  14. UDP/TCP拾遗
  15. Activity的Launch mode详解,A B C D的singleTask模式
  16. android fragment解析
  17. codeforce 139E
  18. [转载]DLL命名规则
  19. 抢红包js程序
  20. iOS4.0及以上系统,关闭程序,applicationWillTerminate为调用问题解决

热门文章

  1. Struts2 访问web元素
  2. JS判断表单内容是否更改过
  3. JVM ClassLoader加载过程
  4. javase程序设计课后题答案
  5. JQuery实现 checkbox 全选、反选,子checkbox有没选去掉全选
  6. Flink Program Guide (7) -- 容错 Fault Tolerance(DataStream API编程指导 -- For Java)
  7. codeforces 702E Analysis of Pathes in Functional Graph 倍增
  8. 让Safari使用Chrome的代理
  9. css 问题总结
  10. SQL PLUS远程连接