[Buổi 28][Kế thừa][WS] Bài 1: Employee Salary Hierarchy


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Employee Salary Hierarchy

Bối cảnh

Công ty có Employee cơ bản và Manager là một Employee có thêm allowance.

Workshop dùng inheritance khi quan hệ is-a rõ và tránh copy logic lương cơ bản.

Yêu cầu

  1. Employee giữ id và baseSalary, method basePay().
  2. Manager public kế thừa Employee, thêm allowance.
  3. Method totalPay() của Manager = basePay + allowance.
  4. Đọc n manager và in id totalPay, sau đó in tổng payroll.

Yêu cầu tổ chức code

Phải có Manager : public Employee; chưa dùng virtual.

Online Judge chấm output. Với bài nhạy về cấu trúc OOP, giảng viên review thêm source code để xác nhận học viên luyện đúng kỹ năng.

Input

Dòng 1 n; n dòng id baseSalary allowance.

Output

n dòng manager; dòng cuối TOTAL sum.

Ràng buộc

1≤n≤2000, các khoản 0..1e12.

Ví dụ 1

Input

3
M1 100 20
M2 80 10
M3 50 0

Output

M1 120
M2 90
M3 50
TOTAL 260

Giải thích

Ba manager dùng cùng base Employee nhưng mỗi record có base salary và bonus. M1 có 100+20=120, M2 80+10=90, M3 50+0=50; tổng payroll là260. Output từng người rồi TOTAL 260, cho thấy derived behavior tính lương nhưng vẫn tái sử dụng dữ liệu base.

Ví dụ 2

Input

1
A 0 0

Output

A 0
TOTAL 0

Giải thích

Chỉ có A với base0 bonus0 nên salary derived bằng0. Tổng toàn hệ thống cũng bằng0; output A 0TOTAL 0. Ví dụ biên này kiểm tra logic không giả định salary phải dương.

Thông tin học tập

  • Module: M08
  • Buổi: B28
  • Loại bài: WORKSHOP
  • Độ khó: Medium
  • Concepts: inheritance, base derived, protected state, method reuse, constructor chain
  • Giới hạn kiến thức: B01-B28
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo