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

pdf2 trang | Chuyên mục: C/C++ | Chia sẻ: dkS00TYs | Lượt xem: 2125 | Lượt tải: 1download
Tóm tắt nội dung Thực hành ngôn ngữ lập trình C++ - Bài thực hành số 12, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trê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 
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:

  • pdfThực hành ngôn ngữ lập trình C++ - Bài thực hành số 12.pdf
Tài liệu liên quan