第三章 关于类和对象的进一步讨论精要.ppt

第三章 关于类和对象的进一步讨论精要

3.6.3 指向对象的常指针 如果在定义指向对象的指针时,使用了关键字 const , 它就是一个常指针,必须在定义时对其初始化。在程序运行中不能再修改指针的值(不能指向其它对象)。 类名 * const 指针变量名 = 对象地址 例:Time t1(10,12,15),t2; Time * const p1 = t1; 在此后,程序中不能修改p1。 例:   p1 = t2; // 错误语句 “指向对象的常指针”指的是在程序运行中始终指的是同一个对象。即指针变量的值始终不变,但它所指对象的数据成员值可以修改。 若要使得指针所指对象的数据成员值不可以修改,则必须定义所谓的“指向常对象的指针”。const可以放在类名前面或者后面。 若要使得指针所指对象的数据成员值和指针变量的值不可以修改,则必须定义所谓的“指向常对象的常指针”。如const Time * const p; class Time {public: void setTime() {hour = 10;} private: mutable int hour; }; int main() {  Time t1,t2;   const Time *p = t1;//指向常对象的指针   t1.setTime();   p-setTime();//错误,只能调用常成员 p =

文档评论(0)

1亿VIP精品文档

相关文档