C++类和对象(5)

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; // 日
};

这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容!

猜你喜欢

转载自blog.csdn.net/zxj20041003/article/details/130516452
今日推荐