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指针,决定了在该成员函数中, 任意修改它所在的类的成员的操作都是 ...
随机推荐
- hbase importtsv
hadoop jar hbase-server-0.98.1-cdh5.1.3.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,cf:imsi,cf:i ...
- 列表checkbox全选
$(document).ready(function(){ $(":checkbox:eq(0)").change(function(){ if ($(this).is(" ...
- 嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导
在嵌入式平台上使用了gtest白盒测试工具,覆盖了被测函数,但是不知道自己测试的效果如何,测试行覆盖率.函数覆盖率,分支覆盖率的数据. 便开始研究gcov这个代码覆盖率工具能否使用,来检查白盒测试的效 ...
- ODI 系列学习--整体架构概念
ODI 系列学习--整体架构概念 ODI整体架构没有Oracle Database复杂,因为它属于程序功能的使用,更多是程序开发和配置的工作,当然ODI的优化涉及到很多数据库优化的工作,从整体架构入手 ...
- 为WPF项目创建单元测试
原文作者: 周银辉 来源: 博客园 原文地址:http://www.cnblogs.com/zhouyinhui/archive/2007/09/30/911522.html 可能你已发现一个问题, ...
- 取PE文件的引入表和导出表
直接上代码(这里列出C++和Delphi的代码),Delphi代码中包含导入及导出文件和函数列表,PE结构可参阅资料,很多很详细,需要注意的是,本例中是映射到内存,不是通过PE装载器装入的,所以对于节 ...
- 探究adroid活动
Intent用处 隐式使用intent,在被启动的activity的manifest文件配置该活动 在出发活动建立intent时就写好和 网页浏览器用new intent 时用Intent.ACTIO ...
- user Collaborative Filtering
---恢复内容开始--- 算法步骤: 1.计算用户相似度 2.对于特定用户,选出k个最相似的用户,将这些用户评价过的前k好的物品推荐给该用户 用户相似度 度量: 其中|N(u)|表示用户u评价过的 ...
- setObject与setValue的区别
在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有.1.先看看setVa ...
- Item with the same id "98" already exist
在magento项目中多次遇到这样一个错误: Item (Bluecom_Onefieldusername_Model_Customer) with the same id "98" ...