c++ 函数前面和后面 使用const 的作用,
前面使用const 表示返回值为const
后面加 const表示函数不可以修改class的成员
请看这两个函数
const int getValue();
int getValue2() const;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /* * FunctionConst.h */ #ifndef FUNCTIONCONST_H_ #define FUNCTIONCONST_H_ class FunctionConst { public: int value; FunctionConst(); virtual ~FunctionConst(); const int getValue(); int getValue2() const; }; #endif /* FUNCTIONCONST_H_ */
源文件中的实现
/* * FunctionConst.cpp */ #include "FunctionConst.h" FunctionConst::FunctionConst():value(100) { // TODO Auto-generated constructor stub } FunctionConst::~FunctionConst() { // TODO Auto-generated destructor stub } const int FunctionConst::getValue(){ return value;//返回值是 const, 使用指针时很有用. } int FunctionConst::getValue2() const{ //此函数不能修改class FunctionConst的成员函数 value value = 15;//错误的, 因为函数后面加 const return value; }