Bài Tập C++ Về Tính Kế Thừa

0
2710
Bài số 8 trong 10 bài của series Hướng đối tượng C++

Chào tất cả mọi người. Trong bài trước thì mình đã chia sẻ tới mọi người về tính kế thừa trong lập trình hướng đối tượng. Trong bài này chúng ta cùng làm một số bài tập C++ để thực hành về nó nhé

Bài Tập 1

Đề bài

Tạo class People gồm:

  • Thuộc tính: name, age,address để lưu lần lượt các giá trị tên, tuổi và địa chỉ.
  • Phương thức trong class People gồm: set(), get() là hàm nhập và xuất; hàm khởi tạo không tham số và hàm huỷ.

Tạo class Students kế thừa từ class People.

Class Students sẽ có thêm:

  • Thuộc tính id để lưu mã sinh viên, math lưu điểm môn toán, physical để lưu điểm môn vật lý, chemistry để lưu điểm môn hoá học.
  • Phương thức: set(), get(), GPA() để tính điểm trung bình 3 môn học.

Lời giải

Với những bài tập dạng này, chúng ta sẽ chia từng phần một để làm.

Ở đây mình sẽ tạo class People trước.

Tiếp theo đó mình sẽ tạo tiếp class Students

Trong class Students, tại 2 phương thức set()get() thay vì việc viết lại code để nhập tên, tuổi, địa chỉ, mình đã gọi lại hàm set()get() trong class cha của nó.

Để gọi phương thức từ một lớp, mình đã sử dụng toán tử ::.
Các bạn có thể xem lại Tại đây

Code hoàn chỉnh:

Input bài tập 1

Output bài tập 1

Bài Tập 2

Đề bài

Xây dựng lớp Color gồm:

Thuộc tính: TenMau, MaMau

Phương thức:

  • Cấu tử không tham số
  • Cấu tử có tham số
  • Hủy
  • Nạp chồng toán tử nhập
  • Nạp chồng toán tử xuất
  • getTenMau() : hàm trả về TenMau

Xây dựng lớp Point gồm:

Thuộc tính: int x, y

Phương thức:

  • Cấu tử không tham số
  • Cấu tử có tham số
  • Hủy
  • Nạp chồng toán tử nhập
  • Nạp chồng toán tử xuất
  • CheoChinh : hàm kiểm tra Point có thuộc đường chéo chính hay không (1 điểm thuộc đường chéo chính khi và chỉ khi tung độ bằng hoành độ).

Xây dựng lớp Pixel kế thừa từ lớp Color và Point bao gồm thêm:
Phương thức:

  • Cấu tử không tham số
  • Cấu tử có tham số
  • Nạp chồng toán tử nhập
  • Nạp chồng toán tử xuất
  • KiemTra: hàm kiểm tra Pixel thuộc đường chéo chính và có màu “Xanh” hay không?
    Chương trình chính: Nhập vào từ bàn phím n Pixel (n nhập từ bàn phím). Hiển thị thông
    tin các Pixel thuộc đường chéo chính và có màu xanh.

Lời Giải

Trước tiên chúng ta cũng chia bài tập này ra thành các phần nhỏ

Phần đầu tiên chúng ta sẽ tạo lớp Color

Tiếp theo là tạo lớp Point

Cuối cùng là lớp Pixel kế thừa từ 2 lớp ColorPoint

Code hoàn chỉnh cho bài tập

Input bài tập 2

Output bài tập 2

 

Bài viết của mình đến đây là hết rồi. Mình rất mong nhận được sự quan tâm cũng như những ý kiến đóng góp của các bạn để bài viết ngày một tốt hơn. Cảm ơn các bạn rất nhiều.


Nếu các bạn muốn xem thêm bài tập kèm lời giải thì có thể truy cập tại:

  1. Github
Các bài viết trong SeriesBài trước: Tính Kế Thừa Trong Lập Trình Hướng Đối TượngBài sau: Tính Đa Hình Trong Lập Trình Hướng Đối Tượng
0 0 vote
Đánh giá bài viết
Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments