Thực hành ngôn ngữ lập trình C++ - Bài thực hành số 12
A. MỤC TIÊU BÀI HỌC
• Class: làm quen với thừa kế
• Class: từkhóa protected
B. BÀI TẬP LẬP TRÌNH
1. (Lớp Matrix)
Xây dựng kiểu (lớp) ma trận 2 chiều (mỗi phần tửlà một sốnguyên) dùng đểthay thếcho việc
khai báo tĩnh
int a[r][c] ;
Áp dụng cho bài toán:
a) Nhập vào 2 ma trận kích thước I x Y, tính tổng 2 ma trận sốnguyên với kích thước và giá trị
nhập từbàn phím.
b) Nhập vào 2 ma trận kích thước I x Y và Y x K, hãy tính tích 2 ma trận này, kết quảlà ma trận
I x K
TH Ngôn ngữ lập trình C++ Học kì I, năm học 2007-2008
Lê Anh Cường, Hoàng Thị Điệp - Bộ môn Khoa học Máy tính
Bài thực hành số 12
A. MỤC TIÊU BÀI HỌC
• Class: làm quen với thừa kế
• Class: từ khóa protected
B. BÀI TẬP LẬP TRÌNH
1. (Lớp Matrix)
Xây dựng kiểu (lớp) ma trận 2 chiều (mỗi phần tử là một số nguyên) dùng để thay thế cho việc
khai báo tĩnh
int a[r][c] ;
Áp dụng cho bài toán:
a) Nhập vào 2 ma trận kích thước I x Y, tính tổng 2 ma trận số nguyên với kích thước và giá trị
nhập từ bàn phím.
b) Nhập vào 2 ma trận kích thước I x Y và Y x K, hãy tính tích 2 ma trận này, kết quả là ma trận
I x K
Cho trước khai báo lớp ma trận nguyên:
TH Ngôn ngữ lập trình C++ Học kì I, năm học 2007-2008
Lê Anh Cường, Hoàng Thị Điệp - Bộ môn Khoa học Máy tính
2. (Template lớp)
Hãy làm bài 1 với ma trận tổng quát: mỗi phần tử có kiểu là T. Sau đấy áp dụng cho ma trận số
thực
template
class Matrix
{
T *data ;
…
};
Ví dụ về áp dụng
Matrix mt(3,5);
3. (Tính kế thừa)
Cho một lớp cơ sở như sau:
class Nguoi
{
protected:
string hoten ;
string quequan;
int namsinh ;
public:
string getHoTen() ; // get họ tên
void setHoTen(string str) ; // set họ tên
string getQueQuan() ;// get quê quán
void setQueQuan (string str) ; // set quê quán
int getNamSinh() ; // get năm sinh
void setNamSinh(int ns) ; // set năm sinh
void print() ; // in tất cả thông tin ra màn hình
};
a) Hãy viết hoàn thiện định nghĩa lớp trên
b) Viết một lớp HocSinh thừa kế từ lớp trên.
+ bổ sung dữ liệu: maHs (mã học sinh: dùng để phân biệt học sinh, từ “hs00000” đến
“hs99999”, tăng tự động mỗi lần khai báo thêm một biến HocSinh), dtb (điểm trung bình
– là một số thực)
+ bổ sung chức năng: getMaHs, getDtb, setDtb, print
c) Viết một lớp NhanVien thừa kế từ lớp trên
+ bổ sung dữ liệu: maNv (mã nhân viên: dùng để phân biệt nhân viên, từ “nv0000” đến
“nv9999”, tăng tự động mỗi lần khai báo thêm một biến NhanVien), hsl (hệ số lương – là
một số thực)
+ bổ sung chức năng: getMaNv, getHsl, setHsl, print
d) Trong hàm main, hãy nhập một số học sinh và một số nhân viên. Sau đó in thông tin ra màn
hình.
File đính kèm:
Thực hành ngôn ngữ lập trình C++ - Bài thực hành số 12.pdf

