Chào mừng bạn đến với Selfomy Hỏi Đáp, hãy Hỏi bài tập hoặc Tham gia ngay
0 phiếu
105 lượt xem
Khang1000 trong Tin học lớp 10 bởi Phó giáo sư (31.4k điểm)

1 Câu trả lời

0 phiếu
monmon70023220 bởi Cử nhân (3.0k điểm)
### Tính kế thừa trong C++

Tính kế thừa là một tính năng quan trọng trong lập trình hướng đối tượng (OOP) cho phép một lớp (lớp con) kế thừa các thuộc tính và phương thức của một lớp khác (lớp cha). Điều này giúp tái sử dụng mã nguồn, giảm thiểu mã lặp và tổ chức mã nguồn tốt hơn.

#### Các loại kế thừa
1. **Kế thừa công khai (public inheritance)**: Lớp con sẽ kế thừa các phần tử công khai và protected từ lớp cha.
2. **Kế thừa riêng tư (private inheritance)**: Lớp con chỉ kế thừa các phần tử protected và private từ lớp cha.
3. **Kế thừa bảo vệ (protected inheritance)**: Lớp con sẽ được bảo vệ mọi thành viên công khai từ lớp cha.

### Ví dụ về kế thừa

**Lớp cha và lớp con:**

```cpp
#include <iostream>
using namespace std;

// Lớp cha
class Animal {
public:
    void sound() { // Phương thức của lớp cha
        cout << "Động vật phát ra âm thanh!" << endl;
    }
};

// Lớp con kế thừa từ lớp cha
class Dog : public Animal { // Kế thừa công khai
public:
    void bark() { // Phương thức riêng của lớp con
        cout << "Chó sủa: Woof!" << endl;
    }
};

int main() {
    Dog myDog; // Tạo đối tượng lớp con
    myDog.sound(); // Gọi phương thức từ lớp cha
    myDog.bark();  // Gọi phương thức từ lớp con
    return 0;
}
```

### Giải thích mã:
- **`Animal`** là lớp cha có phương thức `sound()`.
- **`Dog`** là lớp con kế thừa từ `Animal` và có thêm phương thức riêng là `bark()`.
- Trong hàm `main()`, đối tượng `myDog` của lớp `Dog` gọi được cả phương thức `sound()` của lớp cha và `bark()` của lớp con.

Các câu hỏi liên quan

0 phiếu
1 trả lời 127 lượt xem
0 phiếu
1 trả lời 182 lượt xem
0 phiếu
1 trả lời 119 lượt xem
0 phiếu
1 trả lời 159 lượt xem
0 phiếu
3 câu trả lời 318 lượt xem
Mô tả cách hoạt động của tính kế thừa (inheritance) trong C++. Giải thích các loại kế thừa và ưu nhược điểm của từng loại.
đã hỏi 31 tháng 10, 2024 trong Tin học lớp 10 bởi Khang1000 Phó giáo sư (31.4k điểm)
0 phiếu
1 trả lời 97 lượt xem
0 phiếu
1 trả lời 68 lượt xem
0 phiếu
1 trả lời 117 lượt xem

HOT 1 giờ qua

  1. trannhat900trannhat900

    52948 Điểm

  2. phamngoctienpy1987844phamngoctienpy1987844

    50728 Điểm

  3. vxh2k9850vxh2k9850

    35980 Điểm

  4. Nqoc_bakaNqoc_baka

    34614 Điểm

Phần thưởng hằng tháng
Hạng 1: 200.000 đồng
Hạng 2: 100.000 đồng
Hạng 3: 50.000 đồng
Hạng 4: 20.000 đồng
Phần thưởng bao gồm: mã giảm giá Shopee, Nhà Sách Phương Nam, thẻ cào cùng nhiều phần quà hấp dẫn khác sẽ dành cho những bạn tích cực nhất của tháng. Xem tại đây
Bảng xếp hạng cập nhật 30 phút một lần
...