ساختمان دادهی آرایه را به صورت زیر پیادهسازی شده است:
- classای به نام Array تعریف شده است.
- این class به صورت template پیاده سازی شده است (بدون تغییر در پیادهسازی class بتوان نوع دادههای مختلف را در آن تعریف کرد)
- دو سازنده برای این class تعریف شده است. یکی ورودی آن تعداد خانههای اولیه برای آرایه و دومی سازندهی کپی.
- برای این class تابع مخرب تعریف شده است.
- class شامل توابع زیرمی باشد:
- append: دادهای را از ورودی گرفته و به انتهای آرایه اضافه می کند.
- extend: دو نسخه از این تابع موجودمی باشد: یکی آرایهای از نوع دادههای class و یکی اشارهگر به شئای از نوع Array.
این تابع ورودی خود را به انتهای دادهها اضافه میکند.
- عملگر [] برای class تعریف شده است و دادهی ذخیره شده در اندیس ورودی را باز می گرداند. اندیس ورودی میتواند منفی باشد. در این صورت اندیس از آخر آرایه حساب میشود. این تابع در برابر اندیس خارج از محدوده پیام خطا چاپ می کند. برای مثال اگر آرایه ۴ خانه داشته باشد؛ اندیس ۴ و بیشتر و اندیس ۵- و کمتر ایجا خطا می کند.
دادهی بازگشتی قابلیت مقدار دهی دارد.
پیاده سازی ساختمان دادهی آرایه(++C)