哪一些是只能重载为类成员函数的运算符?

哪一些是只能重载为类成员函数的运算符?,第1张

这个真还是没有总结过,不过我只知道这几种运算符不能重载:

1成员运算符:

2指针取内容运算法:

3作用域分辨符:::

4三目运算符: :

5sizeof()

哎,,,叫你求助我又不求助,无语

其实我早写好了

我的重载为-,如果你改+,就把之前的重载删除,就可以了

#include<iostream>

#define MAX 10

using namespace std;

class matrix;

matrix& operator-(matrix& b,const matrix& c);

class matrix

{

private:

    int row,col,(a)[MAX];

public:

    matrix(){}

    matrix(int r,int c,int (b)[MAX]):row(r),col(c),a(b){}

    matrix& operator+(const matrix& b)

    {

        for(int i=0;i<row;i++)

            for(int j=0;j<col;j++)

                a[i][j]=a[i][j]+ba[i][j];

        return this;

    }

    friend matrix& operator-(matrix& b,const matrix& c)

    {

           for(int i=0;i<brow;i++)

            for(int j=0;j<bcol;j++)

             ba[i][j]=ba[i][j]-ca[i][j];

        return b;

    }

    void show()

    { 

          for(int i=0;i<row;i++)

        {

            for(int j=0;j<col;j++)

                cout<<a[i][j]<<" ";

            cout<<endl;

        }

    }

};

void main()

{

    int row =2 ,col =3,a[2][MAX]={{1,2,3},{4,5,6}};

    matrix mat1(row,col,a);

    int b[2][MAX]={{4,3,2},{1,2,3}};

    matrix mat2(row,col,b);

    matrix mat3;

    mat3 = mat1 + mat2;

    cout<<"mat3"<<endl;

    mat3show();

    cout<<"mat1"<<endl;

    mat1show();

    cout<<"mat4"<<endl;

    matrix mat4;

    mat4 = mat1 - mat2;

    mat4show();

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12156134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存