数组类的操作符重载的.h头文件:
#pragma once
#include <iostream>
using namespace std;
//先定义一个数组类,并对成员函数、构造函数、重载操作符函数进行声明
class Array
{
public:
Array(int length);//有参构造函数
Array(const Array& obj);//copy函数
~Array();//析构函数
public:
void setData(int index, int valude);//为数组赋值
int getData(int index);//取得数组元素值
int length();//得到数组长度
private:
int m_length;//数组长度
int *m_space=NULL;//数组指向空间的地址
//函数返回值当左值,需要返回一个引用(元素本身) 而不是一个值
public:
//重载=
Array& operator=(Array &a1);
//重载[]
int& operator[](int i);
//重载 ==
bool operator==(Array &a1);
//重载 !=
bool operator!=(Array &a1);
//重载左移输出操作符<<
friend ostream& operator<<(ostream &cout, Array &a1);//必须使用友元函数进行左移符的重载
//重载右移输入操作符>>
friend istream& operator>>(istream &cout, Array &a1);//必须使用友元函数进行右移符的重载
};
ostream& operator<<(ostream &cout, Array &a1);
istream& operator >> (istream &cin, Array &a1);
数组类的操作符重载的.cpp函数实现文件:
#include "myarray.h"//.h文件以myarray.h命名
#include &l