Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

สิ่งที่สืบทอดมาจากคลาสพาเรนต์ใน C ++ ทั้งหมดคืออะไร


ในการเขียนโปรแกรมเชิงวัตถุ เราสามารถสืบทอดคุณสมบัติของคลาสพาเรนต์ คลาสพาเรนต์เรียกว่าคลาสฐานในขณะที่คลาสย่อยเรียกว่าคลาสที่ได้รับ คลาสที่ได้รับสามารถสืบทอดข้อมูลสมาชิก ฟังก์ชันสมาชิกของคลาสพื้นฐานได้

ถ้าสมาชิกข้อมูลเป็นแบบสาธารณะ พวกเขาสามารถเข้าถึงได้โดยคลาสที่ได้รับ คลาสเดียวกัน และภายนอกคลาส หากสมาชิกข้อมูลได้รับการปกป้อง สามารถเข้าถึงได้โดยคลาสที่ได้รับและคลาสเดียวกันเท่านั้น แต่ไม่สามารถเข้าถึงได้นอกคลาส หากสมาชิกข้อมูลเป็นแบบส่วนตัว จะมีเพียงชั้นเรียนเดียวกันเท่านั้นที่เข้าถึงได้

นี่คือตัวอย่างการสืบทอดในภาษา C++

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
class Base {
   public: int a;
   protected: int b;
   private: int c;
};
class Derived : public Base {
   public: int x;
};
int main() {
   Derived d;
   d.a = 10;
   d.x = 20;
   cout << "Derived class data member vale : " << d.x << endl;
   cout << "Base class data member value : " << d.a << endl;
   return 0;
}

ผลลัพธ์

Derived class data member vale : 20
Base class data member value : 10

ในโปรแกรมข้างต้น คลาสที่ได้รับจะสืบทอดคลาสฐานและสมาชิกของข้อมูล วัตถุคลาสที่ได้รับ d ถูกสร้างขึ้นและใช้เพื่อเรียกสมาชิกของฐานข้อมูลและคลาสที่ได้รับ a และ x แต่ไม่สามารถเข้าถึงตัวแปร b และ c ของคลาสพื้นฐานได้เนื่องจากได้รับการป้องกันและเป็นส่วนตัว มันจะแสดงข้อผิดพลาดหากเราจะพยายามเข้าถึง

Derived d;
d.a = 10;
d.x = 20;