数组类封装
MyArray.h
#ifndef MYARRAY_H #define MYARRAY_Hclass MyArray{ public://無參構造函數,用戶沒有指定容量,則初始化為100 MyArray();//有參構造函數,用戶指定容量初始化explicit MyArray(int capacity);//用戶操作接口//根據位置添加元素void SetData(int pos, int val);//獲得指定位置數據int GetData(int pos);//尾插法void PushBack(int val);//獲得長度int GetLength();//析構函數,釋放數組空間~MyArray(); private:int mCapacity; //數組一共可容納多少個元素int mSize; //當前有多少個元素int* pAdress; //指向存儲數據的空間 };#endifMyArray.cpp
#include"MyArray.h"MyArray::MyArray(){this->mCapacity = 100;this->mSize = 0;//在堆開辟空間this->pAdress = new int[this->mCapacity]; } //有參構造函數,用戶指定容量初始化 MyArray::MyArray(int capacity){this->mCapacity = capacity;this->mSize = 0;//在堆開辟空間this->pAdress = new int[capacity]; } //根據位置添加元素 void MyArray::SetData(int pos, int val){if (pos < 0 || pos > mCapacity - 1){return;}pAdress[pos] = val; } //獲得指定位置數據 int MyArray::GetData(int pos){return pAdress[pos]; } //尾插法 void MyArray::PushBack(int val){if (mSize >= mCapacity){return;}this->pAdress[mSize] = val;this->mSize++; } //獲得長度 int MyArray::GetLength(){return this->mSize; } //析構函數,釋放數組空間 MyArray::~MyArray(){if (this->pAdress != nullptr){delete[] this->pAdress;} }TestMyArray.cpp
#include"MyArray.h"void test(){//創建數組MyArray myarray(50);//數組中插入元素for (int i = 0; i < 50; i++){//尾插法 myarray.PushBack(i);//myarray.SetData(i, i); }//打印數組中元素for (int i = 0; i < myarray.GetLength(); i++){cout << myarray.GetData(i) << " ";}cout << endl; }?
轉載于:https://www.cnblogs.com/mmc9527/p/10431678.html
總結
- 上一篇: 公司6:JrVue重用布局
- 下一篇: ASP.NET发送电子邮件