وراثت(Inheritance)


در C++، امکان ارث بردن صفات و متدها از یک کلاس به کلاس دیگر وجود دارد. ما "مفهوم وراثت" را به دو دسته گروه بندی می کنیم:




  • کلاس مشتق شده (فرزند) - کلاسی که از کلاس دیگری ارث می برد

  • کلاس پایه (والد) - کلاسی که از آن به ارث رسیده است


برای ارث بردن از یک کلاس، از نماد : استفاده کنید.



در مثال زیر، کلاس Car
(child) ویژگی ها و روش ها را از کلاس Vehicle به ارث می برد.
(والد):




مثال



// Base class
class Vehicle {
  public:
   
string brand = "Ford";
    void honk() {
     
cout << "Tuut, tuut! n" ;
    }
};

// Derived
class
class Car: public Vehicle {
  public:
   
string model = "Mustang";
};

int main() {
  Car myCar;
 
myCar.honk();
  cout << myCar.brand + " " + myCar.model;
 
return 0;
}





چرا و چه زمانی از "ارث" استفاده کنیم؟


- برای قابلیت استفاده مجدد کد مفید است: هنگامی که یک کلاس جدید ایجاد می کنید، از ویژگی ها و روش های یک کلاس موجود استفاده مجدد کنید.