====== سوال ۵ ====== کوتاه پاسخ دهید. - کلاس ‎''struct Rect{ double w‎, ‎h; };''‎ را برای نگه‌داری ابعاد یک مستطیل در برنامه‌ای داریم. می‌خواهیم به این برنامه قابلیت محاسبه اندازه‌ی قطر یک مستطیل را نیز اضافه کنیم. برای این‌کار تابع ‎''CalcDiam()''‎ را می‌توانیم به‌صورت یک member function (درون کلاس) و یا یک تابع مستقل که یک ''‎Rect''‎ به عنوان پارامتر ورودی می‌گیرد (نظیر''double CalcDiam(Rect r)'' ‎) بنویسیم. این دو روش را از منظر استفاده مجدّد ‎(Reusability)‎ مقایسه کنید. - می‌خواهیم تعدادی از ‎''Rect''‎های قسمت قبل را مرتب ‎sort)‎) کنیم. برای این منظور قصد داریم عملگر ‎''<''‎ را روی اعضای این کلاس طوری تعریف کنیم که مستطیل‌ها را بر اساس عرض ‎(''w'')‎ و در صورتی تساوی عرض، براساس طول ‎(''h'')‎ مرتب کند. دو روش ممکن ارسال پارامتر به عملگر ‎''<''‎ را بنویسید و بیان‌ کنید که کدام‌یک سریع‌تر است و چرا؟ - دو مورد کاربرد ‎'':'' (دو نقطه) و دو مورد کاربرد ''::'' (دو تا دو نقطه!) در زبان ‎C++‎ را ذکر کنید. - کاربرد ‎''this''‎ در بدنه‌ی یک تابع عضو کلاس ‎(member function)‎ چیست؟ مثالی بزنید که در آن ملزم به استفاده از ''this''‎‎ باشیم. * [[سوال ۶|سوال بعد]] * [[سوال ۴|سوال قبل]]