میخواستم بدونم که چی میشه؟
میخواستم بدونم که چی میشه؟
ما که دلفي بلد نيستيم . شما بگين اين دستور چيکار مي کنه و بعد ما هم معادلش رو تو ++C ميگيم .
مثلا تغییر ادازه یه آرایه.
مثلا یه آرایه دارم به طول 4 میخوایم طولش بشه 10
سلام
همونطور که می دونید در پلاس چنین متد های آماده ای واسه اشیا نوشته نشده.
اما کتابخانه هایی هستند که...
ولی شما می تونید خودتون برای این کار تابع یا متدی ایجاد کنید
برای مثال تابع زیرطول یک آرایه از هر نوعی رو به اندازه ی فرستاده شده بهش تبدیل می کنه :
برای تستش هم می تونید از کد زیر استفاده کنید :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میشه در مورد این کد توضیح بدین؟
T*& object
با سلام
ببخشید دیر شد...
همونطور که از کلمه ی کلیدی template پیداست ما در اینجا از الگوها استافاده کردیم تا بتونیم یک نوعی ایجاد کنیم که به نوعی پدر همه ی شی ها باشه و به همین خاطر در اینجا می تونیم طول هر آرایه ای از هر نوعی رو دست کاری کنیم
و اما
شی T همون object هست که می تونه هر نوعی باشه(مثلا int یا char یا ...)
واما
کاراکتر * به معنای آرایه بودن شی T هست
و
کاراکتر & هم باعث میشه تا بجای اینکه مقدار آرایه ی T به عنوان پارمتر به تابع فرستاده بشه "آدرسش" فرستاده بشه.
و حالا چرا آدرس ؟
چون می خوایم تغییراتی که بر روی آرایه در داخل تابع انجام دایدم در خارج از ارایه هم قابل مشاهده باشند.
موفق باشید.
خوب حالا این یعنی چی؟
شی T همون object هست که می تونه هر نوعی باشه(مثلا int یا char یا ...)
T که mahdi استفاده کرده در واقع استفاده از خاصیت polymorphism در ++C هست که به معنی مستقل از type بودن تابع شماست.
object یعنی شی.(نوع object در دات نت)خوب حالا این یعنی چی؟
شی T همون object هست که می تونه هر نوعی باشه(مثلا int یا char یا ...)
در اینجا T می تونه هر نوعی باشه.
شما می تونید بجای T هر نوعی که خواستید قرار بدید ولی دیگه تابع SetLength فقط می تونه طول آرایه ای از اون نوع رو تغییر بده.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)