C++数据结构数组类的创建

    在C或C++的原生数组里,有一点不好的就是数组越界是察觉不到,代码也不会提醒,至于越界产生的bug什么时候引发系统问题,我们也无从知晓。在这里我们可以创建一个数组类,内部包含数组长度、数组越界访问时能主动发现。

    数组类的创建我们还是按照顺序表的思路,创建一个Array类,实现基本的操作,再创建StaticArray与DynamicArray一个静态一个动态数组类,数组存储位置及大小,均在这两个子类完成,同时提供数组类对象间的赋值。

首先我们来看下父类Array,采用类模板方式,继承自MyObject类,并完成基本的数组操作

#ifndef __ARRAY_H__
#define __ARRAY_H__

#include "MyObject.h"
#include "MyException"

namespace MyLib
{
template <typename T>
class Array : public MyObject
{
protected:
    T* m_array;	//指针
public:
	
    virtual bool set(int index, const T& e)	//设置固定位置的值
    {
	bool ret = ( (0 <= index)&&(index <length()) );
	if (ret)
	{
	    m_array[index] = e;
	}
	else
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值