赞
踩
1.const 成员
2.取地址及const取地址操作符重载
之前在下面博客中讲到类的六个默认成员函数:类与对象
本期我们聊聊类的取地址操作符 - &
将const修饰的类成员函数称之为const成员函数,实际const修饰的是该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。
class Date { public: void Display() { cout << "Display()" << endl; cout << "year:" << _year << endl; } void Display()const //不希望它被修改,所以加const { cout << "Display()const" << endl; cout << "year:" << _year << endl; } private: int _year; }; void Test() { Date d1; d1.Display(); //Display() const Date d2; d2.Display(); //Display()const }
接下来一起思考几个问题:
1.const对象可以调用非const成员函数吗? //不可以
2.非const对象可以调用const成员函数吗?//可以
3.const成员函数内可以调用其他的非const成员函数吗?//不可以
4.非const成员函数内可以调用其他的const成员函数吗?//可以
ps:即权限缩小的话,都可以
Date *operator&();
Date *operator&()const;
这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可。只有特殊情况,比如想让别人获得到指定的内容,才需要重载。这里我就不具体实现了~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。