بسمه تعالی برنامه سازی پيشرفته()244-40 اول 81-80 نيمسال تمرين ( 4جستجو ی خطی ): هدف :آشنايی با چندريختی ) - (Polymorphismکار با قالب ها )(Template محيط برنامه نويسی :قابل حمل ( به طور مشخص در g++و VC++ کامپايل شود) موعد تحويل :قبل از ( 80/10/7ساعت – )20:00پرونده حاوی متن برنامه به آدرس [email protected]ارسال شود. شرح مساله: هدف از اين مساله نوشتن سه رده Array ،Linearو Lifstreamاست. نمودار وراثت اين رده ها به شکل زير است: رده Linearيک قالب است که مندهای الزم برای پياده سازی يک الگوی جستجوی خطی را به شکل مجرد ارائه می کند .اعالن اين رده به اين شکل است: >template<class T class Linear { public: ;virtual void first() const = 0 ;virtual void next() const = 0 ;virtual T current() const = 0 ;virtual bool search(T key) const ;} متد firstيک اشاره گر فرضی را به ابتدای ساختمان داده انتقال می دهد مند nextاشاره گر را يکی جلو می برد. متد currentعنصری که اشاره گر به آن اشاره می کند را برمی گرداند. مند endنشان دهنده اين است که اشاره گر از انتهای ساختمان داده رد شده است يا نه. مند searchدر ساختمان داده به دنبال عنصر keyمی گردد. قالب Arrayرا طوری تعريف کنيد که عالوه بر بازنويسي اعضای مجازی ) (pure virtualخالص Linearاعضای زير را نيز پياده سازی کند: سازنده ای که اندازه آرايه را می گيرد. سازنده کپی . مخرب. عملگرهای = و == و ][ رده Lifstreamرا به عنوان زيررده ای از > Linear<charتعريف کنيد که اعضای مجازی ان را به نحو مناسبی بازنويسی کند. موفق باشيد
© Copyright 2026 Paperzz