运算符重载
没有金刚钻,也木有刷子
个人学习记录而已,主要供自己查看,如有不当请见谅。
展开
-
函数调用运算符重载
函数调用运算符()也可以重载 由于重载后使用的方式非常像函数的调用,因此称为仿函数 仿函数没有固定写法,非常灵活原创 2021-02-27 13:05:00 · 310 阅读 · 0 评论 -
关系运算符重载
1.作用:重载关系运算符,可以让两个自定义类型对象进行对比操作#include<iostream>using namespace std;#include<string>//重载关系运算符class Person{public: Person(string name,int age) { m_name = name; m_age = age; } //重载==号 bool operator==(Person &p) { if (原创 2021-02-27 12:44:02 · 687 阅读 · 0 评论 -
赋值运算符重载
c++编译器至少给一个类添加4个函数:默认构造函数(无参,函数体为空) 默认析构函数(无参,函数体为空) 默认拷贝构造函数,对属性进行值拷贝 赋值运算符operator=,对属性进行值拷贝如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题;#include<iostream>using namespace std;#include<string>//赋值运算符重载class Person{public: Person(int age) {原创 2021-02-25 17:16:24 · 169 阅读 · 0 评论 -
递增运算符重载
1.作用:通过重载递增运算符,实现自己的整型数据2.前置递增返回引用,后置递增返回值#include<iostream>using namespace std;#include<string>//重载递增运算符//自定义整型class MyInteger{ friend ostream &operator<<(ostream &cout, MyInteger myint);public: MyInteger() { m_原创 2021-02-25 14:32:08 · 277 阅读 · 2 评论 -
左移运算符重载
1.作用:可以输出自定义数据类型,比如输出一个类对象。#include<iostream>using namespace std;#include<string>//左移<<运算符重载class Person{ friend ostream &operator<<(ostream &cout, Person &p);public: Person(int a, int b) :m_a(a), m_b(b) { }原创 2021-02-25 12:33:19 · 247 阅读 · 1 评论 -
加号运算符重载
1.运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型2.加号运算符重载:实现两个自定义数据类型相加的运算#include<iostream>using namespace std;#include<string>//加号运算符重载class Person{public: //1.成员函数重载+号 /*Person operator+(Person &p) { Person temp; temp.m_a =原创 2021-02-25 11:17:55 · 483 阅读 · 0 评论