温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++重载运算符

发布时间:2020-06-23 14:54:30 来源:网络 阅读:521 作者:GerogeCai 栏目:编程语言

返回类型 operator 运算符(参数列表){

}

一般的一元运算符->一个参数,二元运算符->两个参数

若运算符函数是成员函数,则第一个运算对象隐式绑定到this指针


例:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXM 1010
typedef struct Matrix{
    int n,m;
    int a[MAXM][MAXM];
    void clear(){
    n=m=0;
    memset(a,0,sizeof(a));
    }
    Matrix operator +(const Matrix &b){
    Matrix temp;
    temp.n=n;
    temp.m=m;
    int i,j;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
        temp.a[i][j]=a[i][j]+b.a[i][j];
        }
    }
    return temp;
    }
}MX;
int main()
{
    printf("exe here\n");
    MX matrix1,matrix2;
    matrix1.n=2;
    matrix1.m=3;
    matrix1.a[0][0]=0;
    matrix1.a[0][1]=1;
    matrix1.a[0][2]=2;
    matrix1.a[1][0]=0;
    matrix1.a[1][1]=1;
    matrix1.a[1][2]=2;
    matrix2.n=2;
    matrix2.m=3;
    matrix2.a[0][0]=0;
    matrix2.a[0][1]=1;
    matrix2.a[0][2]=2;
    matrix2.a[1][0]=0;
    matrix2.a[1][1]=1;
    matrix2.a[1][2]=2;
    MX temp;
    temp=matrix1+matrix2;
    int i,j;
    for(i=0;i<2;i++){
        for(j=0;j<3;j++){
        printf("a[%d][%d]=%d\n",i,j,temp.a[i][j]);
        }
    }
    return 0;
}



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI