c++-用运算符重载进行一维数组相加的程序

问题描述

用运算符重载进行一维数组相加的程序

用运算符重载进行一维数组相加的程序
写出函数体就行了用运算符重载进行一维数组相加的程序

解决方案

 #include <iostream>
using namespace std;
class Array
{
private:
    int a[6];
public:
    Array()
    {
        for(int i=0;i<=5;i++)
            a[i]=0;
    }
    Array(int *p);
    Array operator+(Array &c1);
    void display(){
        for(int i=0;i<=5;i++)
            cout<<a[i]<<" ";
        cout << endl;
    }
};
Array::Array(int *p){
    for(int i=0;i<=5;i++)
        a[i]=*(p+i);
}
Array Array::operator+(Array & array2){
    Array c;
    for(int i=0;i<=5;i++)
        c.a[i]=a[i]+array2.a[i];
    return c;
}
int main()
{
    int x[6]={1,3,5,7,9,11} ; int y [6]={2,4,6,8,10,12};
    Array array1(x),array2(y),array3;
    array3=array1+array2;
    cout << "想加前:" << endl;
    array1.display();
    array2.display();
    cout << "想加后:" << endl;
    array3.display();
    return 0;
}

解决方案二:

http://wenku.baidu.com/link?url=nekx3mB4gT4j4MiDNH9WlCPa2_2Yu5Jr8ISVfYQAiHcq7N1Lnr1fzBhEldNcjnXx-4g8GENdRnbayPaW0EhRCQiQnmceZG_oI6iB1jX8j5C

时间: 2024-11-09 03:09:28

c++-用运算符重载进行一维数组相加的程序的相关文章

C++中利用构造函数与无名对象简化运算符重载函数

在完整描述思想之前,我们先看一下如下的例子,这个例子中的加运算符重载是以非成员函数的方式出现的: //程序作者:管宁//站点:www.cndev-lab.com//所有稿件均有版权,如要转载,请务必著名出处和作者 #include <iostream>using namespace std; class Test{ public: Test(int a) { Test::a = a; } friend Test operator + (Test&,int); public: int a

《C和C++代码精粹》——2.7 指针和一维数组

2.7 指针和一维数组 C和C++代码精粹 在程序清单2.7中,会注意到在传递数组 s 时并没有使用它的地址,这是因为C和C++在大多数表达式中把数组名转换成指向它第一个元素的指针.自1984年以来,我已经向成百上千的学生讲授了C和C++,我注意到了指针和数组,特别是指针和多维数组之间的关系造成很多迷惑. 这样说似乎很奇怪,但是C++确实不支持数组,至少C++不像支持第一类数据类型如整型或者甚至结构体那样支持数组.考虑以下的语句: int i=1,j; int a[4]={0,1,2,3},b[

C02-程序设计基础提高班(C++)第11周上机任务-运算符重载

第11周:阅读教材第10章(p314-346),掌握用运算符重载解决问题,完成第11周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) [任务1]实现复数类中的运算符重载定义一个复数类重载运算符+.-.*./,使之能用于复数的加减乘除.(1)方案一:请用类的成员函数完成运算符的重载: class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Comple

2015级C++第12周实践项目 运算符重载(一)

[项目1-实现复数类中的运算符重载] 参考解答 (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;} Complex operator+(const Complex &c2); Complex operator-(const Complex &c2); Complex op

2013级C++第9周(春)项目——运算符重载(二)

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读程序"简单C++学生信息管理系统",找出其中出现构造函数.友元函数.运算符重载.静态数成员语法现象出现的位置,仔细体会其用法,在以后的设计中能够灵活应用有关方法和技巧 项目1-3直接复制第8周的代码,加入要求的运算符重载定义后,作为第9周的任务另外发博文.[项目1]在第8周项目1基础上(1)再定义一目运算符 -,-c相

《C++语言基础》实践项目——运算符重载(二)

返回:贺老师课程教学链接 [项目1-复数类中的运算符重载(续)]在复数类中的运算符重载基础上(1)再定义一目运算符 -,-c相当于0-c.(2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然.[参考解答] [项目2-Time类中的运算符重载(续)] 在Time类中的运算符重载基础上(1)定义对时间对象的自增和自减一目运算符 //一目运算符的重载 CTime operator++(int);//后置++,下一秒 CT

c++运算符重载基础知识详解_C 语言

实际上,很多C++运算符已经被重载.eg:将*运算符用于地址,将得到存储在这个地址中的值,将他用于2个数字时,得到的将是他们的乘积.C++根据操作数的数目和类型来决定采用哪种操作. C++允许将运算符重载扩展到用户定义的类型.例如,允许使用+将两个对象相加.编译器将根据操作数的数目和类型决定使用加法定义.运算符重载可以使代码看起来更自然.例如,将2个数组相加是一种常见的运算.通常,需要使用下面这样的for循环来实现: 复制代码 代码如下: for (int i = 0; i < 20; i++)

asp-ASP中一维数组如何判断是否存在重复项呢

问题描述 ASP中一维数组如何判断是否存在重复项呢 请问一下,动态一维数组中如何判断数组中是否存在相同的值呢? 比如说动态数组A() A(1)="A" A(2)="B" A(3)="A" 动态数组B() B(1)=1 B(2)=2 B(3)=3 最后输出的是 A 4 B 2 就是A(1)+A(3) 相同的数组B()相加输出,不相同的直接输出B()对应的值 解决方案 a=split("A,B,A",",")

C#一维数组初始化详解

C#一维数组的理解之前我们来看看什么是数组?数组是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字.数组均由连续的存储单元组成,最低地址对应于数组的第一个元素,最高地址对应于最后一个元素,数组可以是一维的,也可以是多维的. 一维数组在本质上是由同类数据构成的表一维数组 可以如下例所示声明一个由 5 个整数组成的数组: int[] array = new int[5]; 此数组包含从 array[0] 到 array[4] 的元素.new 运算符用于创建数组并将数组元素初始化为它们的默认