常对象成员

//(1)常数据成员
//注意:定义常数据成员就必须对他进行初始化,并且只能通过构造函数的初始化表对常数据成员进行初始化
class Time
{ private: 
     const  int  hour;               //声明hour为常数据成员
     int   min;
     int   sec;
  public:
     Time(int h,int m,int s) :hour(h)   //必须用参数初始化表对常数据成员进行初始化
     {     min=m;   //非常数据成员可以用赋值语句也可以用初始化列表进行初始化
            sec=s;
      }
};
//注意常对象的数据成员都是常数据成员,因此在编程时应习惯于用参数的初始化列表进行初始化
//(2)常成员函数
//作用:常成员函数用于访问const数据成员和const对象的函数
//注意:a在声明和定义常成员函数都必须加const关键字 形如:void get_hour(int h)  const 
  //    b常成员函数中只能引用本类中的数据成员,但不能修改它们(除了可变mutable数据)。
	//  c常成员函数不能调用另一个非const成员函数
	  //d常成员函数可以引用const数据成员,也可以引用非const的数据成员
	  //e const数据成员可以被const成员函数引用,也可以被非const的成员函数引用。
	  //f 常对象只能调用它的常成员函数,而不能调用其他成员函数。

posted @ 2017-05-14 20:41  衣带渐宽、为伊憔悴  阅读(207)  评论(0编辑  收藏  举报