Kế thừa constructor trong c++

Một trong những khái niệm quan trọng nhất trong lập trình hướng đối tượng là Tính kế thừa [Inheritance]. Kế thừa trong C++ là sự liên quan giữa hai class với nhau, trong đó có class cơ sở [Base Class] và class con [Derived Class]. Khi kế thừa class con được hưởng tất cả các phương thức và thuộc tính của class cơ sở. Tuy nhiên, nó chỉ được truy cập các thành viên public và protected của class cơ sở. Nó không được phép truy cập đến thành viên private của class cơ sở.

Tư tưởng của kế thừa trong C++ là có thể tạo ra một class mới được xây dựng trên các lớp đang tồn tại. Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cơ sở, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.


Lớp cơ sở [Base Class] và Lớp thừa kế [Derived Class] trong C++

Một lớp có thể được kế thừa từ hơn một lớp khác, nghĩa là, nó có thể kế thừa dữ liệu và hàm từ nhiều lớp cơ sở. Để định nghĩa một lớp kế thừa [Derived Class], chúng ta sử dụng một danh sách để xác định các lớp cơ sở. Danh sách này liệt kê một hoặc nhiều lớp cơ sở và có form sau:

class lop_ke_thua: access_modifier lop_co_so

Ở đây, access_modifier là public, protected hoặc private, và lop_co_so là tên của lớp đã được định nghĩa trước đó. Nếu access_modifier không được sử dụng, thì mặc định là private.

Bạn xem xét ví dụ sau với Hinh là lớp cơ sở và HinhChuNhat là lớp kế thừa:

#include 
 
using namespace std;
// lop co so: Hinh
class Hinh {
   public:
      void setChieuRong[int rong] {
         chieuRong = rong;
      }
      void setChieuDai[int dai] {
         chieuDai = dai;
      }
   protected:
      int chieuRong;
      int chieuDai;
};

// day la lop ke thua: HinhChuNhat
class HinhChuNhat: public Hinh {
   public:
      int tinhDienTich[] { 
         return chieuRong * chieuDai; 
      }
};

int main[void] {
   HinhChuNhat hcn;
 
   hcn.setChieuRong[10];
   hcn.setChieuDai[15];
   // in dien tich cua doi tuong.
   cout 

Chủ Đề