You are not allowed to perform this action
سوال ۵
کوتاه پاسخ دهید.
- کلاس
struct Rect{ double w, h; };را برای نگهداری ابعاد یک مستطیل در برنامهای داریم. میخواهیم به این برنامه قابلیت محاسبه اندازهی قطر یک مستطیل را نیز اضافه کنیم. برای اینکار تابعCalcDiam()را میتوانیم بهصورت یک member function (درون کلاس) و یا یک تابع مستقل کهیکRectبه عنوان پارامتر ورودی میگیرد (نظیرdouble CalcDiam(Rect r)) بنویسیم. این دو روش را از منظر استفاده مجدّد (Reusability) مقایسه کنید. - میخواهیم تعدادی از
Rectهای قسمت قبل را مرتب sort)) کنیم. برای این منظور قصد داریم عملگر<را روی اعضای این کلاس طوری تعریف کنیم که مستطیلها را بر اساس عرض (w) و در صورتی تساوی عرض، براساس طول (h) مرتب کند. دو روش ممکن ارسال پارامتر به عملگر<را بنویسید و بیان کنید که کدامیک سریعتر است و چرا؟ - دو مورد کاربرد
:(دو نقطه) و دو مورد کاربرد::(دو تا دو نقطه!) در زبان C++ را ذکر کنید. - کاربرد
thisدر بدنهی یک تابع عضو کلاس (member function) چیست؟ مثالی بزنید که در آن ملزم به استفاده ازthisباشیم.