C++操作符重载

实现效果图:

实例代码:
Matrix.h
#pragma once
#include "vector"
#include "iostream"
#define rep(i,n) for(int i=1;i<=n;i++) //宏定义for循环,精简代码
using namespace std;
class Matrix
{
public:
//基本构造函数
Matrix(int Row=0, int Column=0);
//拷贝构造函数或者复制构造函数
Matrix(const Matrix& matrix);
//赋值操作符重载,必须为成员函数,不然会报错
Matrix& operator=(const Matrix& matrix);
//复合赋值操作符重载,建议重载为成员函数
Matrix& operator+=(const Matrix& matrix);
Matrix& operator*=(const Matrix& matrix);
Matrix& operator*=(const float& number);
Matrix& operator*=(const int& number);
Matrix& operator-=(const Matrix& matrix);
Matrix& operator/=(const float& number);
float& operator[](const size_t& index);
Matrix& operator++();//前缀式自增
Matrix& operator--();//前缀式自减
Matrix operator++(int); //后缀式自增
Matrix operator--(int); //后缀式自减
//算术和关系操作符一般为非成员函数,声明为友元
friend Matrix operator+(const Matrix& matrix1, const Matrix& matrix2);
friend Matrix operator-(const Matrix& matrix1, const Matrix& matrix2);
friend Matrix operator*(const Matrix& matrix1, const Matrix& matrix2);
friend Matrix operator*(const Matrix& matrix1, const float& number);
friend Matrix operator*(const Matrix& matrix1, const int& number);
friend bool operator==(const Matrix& matrix1, const Matrix& matrix2);
friend bool operator!=(const Matrix& matrix1, const Matrix& matrix2);
//输出操作符<<的重载,必须声明为友元
friend ostream& operator<<(ostream& os, const Matrix&object);
//输入操作符>>重载,必须声明为友元
friend istream& operator >>(istream& in,Matrix&object);
void Display();
~Matrix();
public:
int Row;
int Column;
vector > data; //二维vector,用于存放矩阵类数据
}; 另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。