شما وظیفه ایجاد برنامهای را بر عهده دارید که با استفاده از وراثت در C++ یک محیط دانشگاه را مدل سازی میکند. برنامه شما سه کلاس خواهد داشت: Person که به عنوان کلاس پایه برای کلاسهای Student و Professor عمل میکند.
(این تمرین از سمت یکی از کاربران برای c++ ثبت شده است اما در صورت تمایل با زبان های دیگر نیز می توانید آن را حل کنید)
کلاس Person
کلاس Person دارای ویژگیهای زیر خواهد بود:
name : رشتهای که نام شخص را نشان میدهد.
age : یک عدد صحیح نشان دهنده سن فرد است.
کلاس Person متدهای زیر را خواهد داشت:
display : یک متد مجازی که نام و سن فرد را نمایش میدهد.
کلاس Student
کلاس Student از Person ارث میبرد و دارای ویژگیهای اضافی زیر خواهد بود:
courses : وکتوری از ساختارهای course که نشان دهنده دروسی است که دانش آموز میگذراند. ساختار course شامل name , midterm_grade و final_grade میباشد.
کلاس Student متدهای زیر را خواهد داشت:
addCourse : متدی که یک درس و به ترتیب نمرههای میانترم و پایانترم مربوط به آن را گرفته و به لیست دروس دانشآموز اضافه میکند.
removeCourse : متدی که با گرفتن نام یک درس، آن را از لیست دروس دانشآموز حذف میکند.
display : متدی که نام، سن و لیست دروس دانش آموز را با نمرات مربوطه نمایش میدهد.
calculateFinalGrade : متدی که با گرفتن نام یک درس نمره نهایی دانش آموز در آن درس را بر اساس میانگین گیری نمره میانترم و پایانترم آن محاسبه میکند.
کلاس Professor
کلاس Professor از Person ارث میبرد و دارای ویژگیهای اضافی زیر است:
prof_courses : وکتوری از رشتههایی که نشان دهنده دروسی است که استاد تدریس میکند.
کلاس Professor متدهای زیر را خواهد داشت:
addCourse : متدی که با گرفتن نام یک دوره، آن دوره را به لیست دروس استاد اضافه میکند.
removeCourse : متدی که با گرفتن نام یک درس، آن را از لیست دروس استاد حذف میکند.
display : متدی که نام استاد، سن و لیست دروسی که تدریس میکند را نمایش میدهد.
calculateSalary : متدی که حقوق استاد را بر اساس:
salary = baseSalary + bonus + (courses.size() * 5000.0)
که baseSalary = 50000 و bonus = 10000 میباشند.
نظرات