1.为什么要使用const?
为了尊重类对象的常量性,编译器必须不断区分安全和不安全的成员函数,即区分试图修改类对象与不试图修改类对象的函数。
类的设计者通过const限定了某些函数是安全函数,即只能读取数据成员,不能修改数据成员的函数。
2.如何使用?
关键字const被放在成员函数的参数表和函数体之间。对于在类之外定义的const成员函数,必须在它的定义和声明中同时制定关键字const。
举个栗子:
#include<iostream>
using namespace std;
class Date
{
public:
Date()
{
year = 1;
month=1;
day=1;
}
Date(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
void print() const;
private:
int year,month,day;
};
void Date::print() const
{
cout<<year<<"/"<<month<<"/"<<day<<endl;
}
int main()
{
Date national_day(1949,10,1);
national_day.print();
return 0;
}
编译后执行得
[wo@promote 20161110]$ g++ test5.cpp -o test5
[wo@promote 20161110]$ ./test5
1949/10/1