1. 一般常量
int const x=2; 或 const int x=2;
当然x也可是一个数组,如x[5];int可以被替换为是类名,x为对象名,此时常对象。
int如果被替换为char*,此时为常指针 如:char* const x 或 const char* x;常引用的格式为 const <类型说明符> & <引用名> 例如:const double & x;
2、下面举一例子说明常指针作函数参数的作法。
#include <iostream> using namespace std; const int N = 6; void print(const int* p, int n); int _tmain(int argc, _TCHAR* argv[]) { int arrar[N]; for (int i = 0;i <N;i++) { cin>>arrar[i]; } print(arrar,N); return 0; } void print(const int* p, int n) { cout<<"{"; for (int i= 0; i<N;i++) { cout<<" "<<*(p+i); } cout <<"}"; }
3、常成员函数
使用const关键字进行说明的成员函数,称为常成员函数。常成员函数说明格式如下:
<类型说明符> <函数名> (<参数表>) const;
其中,const是加在函数说明后面的类型修饰符,它是函数类型的一个组成部分,因此,在函数实现部分也要带const关键字。常成员函数的特征。
ConstTest.h文件
class R { public: R(int r1, int r2) { R1=r1; R2=r2; } void print(); void print() const; private: int R1, R2; };
ConstTest.Cpp文件
void R::print() { cout << "R1:" <<R1 << " R2:" <<R2<<endl; } void R::print() const { cout << "R1:" <<R1 << " R2:" <<R2<<endl; }
实现:
int _tmain(int argc, _TCHAR* argv[]) { R a(5, 4); a.print(); const R b(20, 52); b.print(); return 0; }
4、常变量
头文件 ConstTest.h
class A { //r是常int型引用,a是常int型变量,b是静态常int型变量。 public: A(int i); void print(); const int &r; private: const int a; static const int b; };
cpp文件ConstTest.cpp
void A::print() { cout<<" const int &r "<< r <<endl <<"Const int a " <<a<<endl << "static const int b " << b <<endl; } const int A::b=10; A::A(int i):a(i), r(a) { }
实现:
int _tmain(int argc, _TCHAR* argv[]) { A a1(100),a2(0); a1.print(); a2.print(); return 0; }
参考:http://www.cppblog.com/mzty/archive/2005/11/09/1001.html