شما وظیفه ایجاد برنامهای را بر عهده دارید که با استفاده از وراثت در 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 میباشند.
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
نظرات