C++ 开发之实现操作符重载的实例
发布时间:2020-12-30 15:03:17 所属栏目:经验 来源:网络整理
导读:副标题#e# 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(
main.c #include "iostream" #include "Matrix.h" using namespace std; int main(){ int row1,row2,col1,col2; cout << "请输入第一个矩阵的行和列:n"; cin >> row1 >> col1; Matrix m1(row1,col1); cout << "请输入" << row1 << '*' << col1 << "个数:n"; cin >> m1; cout << "输出矩阵的值:n"; cout << m1; cout << "请输入第二个矩阵的行和列:n"; cin >> row2 >> col2; Matrix m2(row2,col2); cout << "请输入" << row2 << '*' << col2 << "个数:n "; cin >> m2; cout << "输出矩阵的值:n"; cout << m2; if (col1 != row2) cout << "这两个矩阵无法相乘n"; else { cout << "判断矩阵m1与m2是否相等:n"; if (m1==m2) { cout << "m1和m2相等:n"; } else { cout << "m1和m2不相等:n"; } cout << "m1拷贝构造m3矩阵结果输出:n"; Matrix m3(m1); cout << m3; cout << "m1赋值重载m4矩阵结果输出:n"; Matrix m4(m1.Row,m1.Column); m4 = m1; cout << m4; cout << "m1*m2矩阵相乘输出m5:n"; Matrix m5(m1.Row,m2.Column); m5 = m1*m2; cout << m5; cout << "矩阵m1*2输出m6:n"; Matrix m6(m1.Row,m1.Column); m6 = m1*2; cout << m6; cout << "矩阵m1*0.5输出m7:n"; Matrix m7(m1.Row,m1.Column); m7 = m1 * 0.5; cout << m7; cout << "m1*m2矩阵相乘输出m1:n"; m1 *= m2; cout << m1; cout << "m1矩阵前自增输出n"; cout << ++m1; cout << "m1矩阵后自增输出n"; cout << m1++; cout << "m1矩阵输出n"; cout << m1; cout << "m1矩阵前自减输出n"; cout << --m1; cout << "m1矩阵后自减输出n"; cout << m1--; cout << "m1矩阵输出n"; cout << m1; } return 0; } 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |