前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个程序,让你理解运算符重载操作

一个程序,让你理解运算符重载操作

作者头像
Gxjun
发布2018-03-22 13:18:06
7310
发布2018-03-22 13:18:06
举报
文章被收录于专栏:mlml
代码语言:javascript
复制
 1 //实现运算符重载
 2 #include<iostream>
 3 #include<cstdio>
 4 using namespace std;
 5 namespace gong
 6 {
 7     const int maxn=2;
 8 }
 9 namespace Var
10 {
11     int i,j;
12 }
13 class Matrix
14 {
15   public :
16      Matrix(){};
17     ~Matrix(){};
18  int array[gong::maxn][gong::maxn];
19  Matrix operator + (const Matrix & aa) const ; //实现函数a+b重载,类外定义
20  Matrix operator - (const Matrix &aa ) const   //实现函数a-b重载
21  {
22      Matrix dd;
23      using namespace gong ;
24      using Var::i;
25      using Var::j;
26      for( i=0;i<maxn;i++)
27      {
28          for( j=0;j<maxn;j++)
29          {
30           dd.array[i][j]=array[i][j]-aa.array[i][j];
31          }
32      }
33      return dd;
34  }
35   /*注意《《,》》这样的运算符不能定义为类重载函数
36    虽然不能“重载”为成员函数,但是可以定义为新的成员函数,只不过使用习惯和常例不符而已。
37  */
38  ostream operator<< (ostream &out) const 
39  {
40      using namespace gong ;
41      using namespace Var;
42      for(i=0;i<maxn ;i++)
43      {
44       for(j=0;j<maxn;j++)
45       {
46        out<<array[i][j]<<ends;
47       }
48        out<<endl;
49       }
50       return out ;
51   }
52 };
53 Matrix Matrix::operator +(const Matrix & aa) const
54 {
55      Matrix dd;
56      using namespace gong ;
57      using namespace Var  ;
58      for( i=0;i<maxn;i++)
59      {
60          for( j=0;j<maxn;j++)
61          {
62            dd.array[i][j]=array[i][j]+aa.array[i][j];
63          }
64      }
65      return dd;
66 }
67 int main()
68 {
69   Matrix a,b,c;
70   using gong::maxn;
71   using namespace Var;
72   for(i=0;i<maxn;i++)
73   {
74       for(j=0;j<maxn;j++)
75       {
76         scanf("%d%d",&a.array[i][j],&b.array[i][j]);
77       }
78   }
79   c=a+b;
80 //  cout<<c<<endl;
81   c<<cout;
82   c=a-b;
83   c<<cout ;
84   return 0;
85 }

不妨设 a[2][2]=                       b[2][2]=

                     { 1, 2                           { 1, 2

                      3 ,4}                              3 ,4}

   在vc上运算的结果为:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-03-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档