【C++干货基地】特殊函数名的函数:赋值运算符重载
🎬 鸽芷咕:个人主页
🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活!
引入
哈喽各位铁汁们好啊,我是博主鸽芷咕《C++干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的城市有没有这种实惠又全面的零食基地呢?C++ 本身作为一门篇底层的一种语言,世面的免费课程大多都没有教明白。所以本篇专栏的内容全是干货让大家从底层了解C++,把更多的知识由抽象到简单通俗易懂。
⛳️ 推荐
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
文章目录
- 引入
- ⛳️ 推荐
- 一、运算符重载
- 1.1 == 运算符重载
- 1.2
- 二、赋值运算符重载
- 2.1 赋值运算符重载格式
- 2.2 赋值运算符重载的行为
- 2.4 有了自动生成的赋值重载我们还需要自己写吗?
- 三、前置++ 和 后置++
一、运算符重载
C++ 中为了增加代码的可读性运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。
函数名字为:关键字operator后面接需要重载的运算符符号。
函数原型:返回值类型 operator操作符(参数列表)
🔥 注意:
- 不能通过连接其他符号来创建新的操作符:比如operator@
- 重载操作符必须有一个类类型参数
- 用于内置类型的运算符,其含义不能改变,例如:内置的整型+,不 能改变其含义
- 作为类成员函数重载时,其形参看起来比操作数数目少1,因为成员函数的第一个参数为隐藏的this
- .* :: sizeof ? : . 注意以上5个运算符不能重载。这个经常在笔试选择题中出现。**
1.1 == 运算符重载
下面我们就来实践一下再日期类中 == 运算符如何重载, 以往我们在 内置类型 == 运算符返回的都是bool 类型
- 这样的话返回类型就确定了
- 运算符重载 的关键字是 operator
- 函数原型:返回值类型 operator操作符(参数列表)
🍸 代码演示:
class Date { public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } bool operator==(const Date& d1) { return _year == d1._year && _month == d1._month && _day == d1._day; } private: int _year; int _month; int _day; }; int main() { Date d1(2022, 1, 13); Date d2(2022, 1, 14); Date d3(2022, 1, 13); cout public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } bool operator==(const Date& d1) { return _year == d1._year && _month == d1._month && _day == d1._day; } bool operator
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...