源代码:
//test.cpp
#include <iostream>
#include "MyArray.h"
using namespace std;
int main()
{
// 自己写MyArray.h 头文件和 MyArray.cpp 源文件 实现数组类 Array
// 数组类的构造函数有一个 int 型参数 表示数组的大小
Array a1(10);
// 数组类有一个 length 方法 用于获取数组的大小
for (int i=0; i<a1.length(); i++)
{
// 设置数组的元素 ,第一个参数表示下标,第二个参数表示 下标对应的值
a1.setData(i, i);
}
cout<<"\n打印数组a1: ";
for (int i=0; i<a1.length(); i++)
{
// 获取数组元素 ,参数表示数组下标
cout<<a1.getData(i)<<" ";
}
cout<<endl;
// 完成数组的拷贝构造函数,允许两个数组对象互相赋值
Array a2 = a1;
cout<<"\n打印数组a2: ";
for (int i=0; i<a2.length(); i++)
{
cout<<a2.getData(i)<<" ";
}
cout<<endl;
cout<<"hello..."<<endl;
system("pause");
return 0;
}
// MyArray.cpp
#include "MyArray.h"
#include <cstdlib>
Array::Array(int n)
{
num = n;
arr = new int[num];
}
Array::Array(const Array & obj)
{
num = obj.num;
arr = new int[num];
for (int i = 0; i < num; i++)
{
arr[i] = obj.arr[i];
}
}
Array::~Array()
{
delete [] arr;
}
int Array::length()
{
return num;
}
void Array::setData(int i, int j)
{
arr[i] = j;
}
int Array::getData(int i)
{
return arr[i];
}
// MyArray.h
#ifndef MYARRAY_H_
#define MYARRAY_H_
class Array
{
private:
int * arr;
int num;
public:
Array(int n);
Array(const Array & obj);
~Array();
int length();
void setData(int i, int j);
int getData(int i);
};
#endif
通过VS2010运行的截图: