类和对象
- 1.流插入和流提取的运算符重载
- 2.const成员
- 3.取地址及const取地址操作符重载
1.流插入和流提取的运算符重载
通过函数重载,可以对流插入运算符和流提取运算符进行运算符重载。<<流插入在ostream中,>>流提取在istream中。
① 流提取和流插入的运算符重载,建议不要写成成员函数;应该写成全局函数
②为了访问类的成员变量,可以在类里面声明成友元函数,关键字:friend
③ 为了一行实现多次,函数值返回相应的类型,流插入返回类型:ostream&;流提取返回类型:istream&
2.const成员
将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。
3.取地址及const取地址操作符重载
这两个默认成员函数一般不用重新定义 ,编译器默认会生成。
class Date
{
public:
Date* operator&()
{
return this;
}
const Date* operator&()const
{
return this;
}
private:
int _year; // 年
int _month; // 月
int _day; // 日
};
这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容!