自定义数组类

头文件:

复制代码
#ifndef ZARRAY_H
#define ZARRAY_H


class ZArray
{
private:
    int *m_pointer;
    int m_length;
public:
    ZArray(int length);
    ~ZArray();
    volatile bool state;
    int length();
    bool get(int index,int& value);
    bool set(int index,int value);

};

#endif // ZARRAY_H
复制代码

源文件:

复制代码
#include "zarray.h"

ZArray::ZArray(int length)
{
    m_pointer = new int[length];
    for(int i=0; i<length; i++)
    {
        m_pointer[i] = 0;
    }
    m_length = length;
}

ZArray::~ZArray()
{
    delete m_pointer;
}
int ZArray::length()
{
    return m_length;
}
bool ZArray::set(int index, int value)
{
    bool ret=((0<=index)&&(index<length()));
    if(ret)
    {
        m_pointer[index] = value;
    }
    return ret;
}
bool ZArray::get(int index, int &value)
{
    bool ret=((0<=index)&&(index<length()));
    if(ret)
    {
        value = m_pointer[index];
    }
    return ret;
}
复制代码

使用:

复制代码
ZArray zay(10);
    for(int i=0;i<zay.length();i++)
    {
        zay.set(i,i+1);
    }
    for(int i=0;i<zay.length();i++)
    {
        int value=0;
        if(zay.get(i,value))
        {
            printf("a[%d]=%d\n",i,value);
        }
    }
复制代码

 

posted @   朱小勇  阅读(614)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-10-11 mfc unicode下一些容易容易搞混的基本类型
点击右上角即可分享
微信分享提示