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