Chương 6 Tương ứng bội và phương thức ảo Sự hạn chế của phương thức tĩnh - Pdf 70

Sự hạn chế của phương thức tĩnh
Ví dụ sau cho thấy sự hạn chế của phương thức tĩnh trong việc sử dụng tính thừa kế để phát
triển chương trình.
Giả sử cần xây dựng chương trình quản lý thí sinh. Mỗi thí sinh đưa vào ba thuộc tính: Họ
tên, số báo danh và tổng điểm. Chương trình gồm ba chức năng: Nhập dữ liệu thí sinh, in dữ
liệu thí sinh ra máy in và xem - in (in họ tên ra màn hình, sau đó lựa chọn hoặc in hoặc không).
Chương trình dưới đây sử dụng lớp TS (Thí sinh) đáp ứng được yêu cầu đặt ra.
//CT6-02
// Han che phuong thuc tinh
// Lop TS
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <ctype.h>
class TS
{
private:
char ht[25];
int sobd;
float td;
public:
void nhap()
{
cout << "\nHo ten: " ;
fflush(stdin); gets(ht);
cout << "So bao danh: " ;
cin >> sobd;
cout << "Tong diem: " ;
cin >> td;
}
void in()

Trong lớp TS2 đưa thêm thuộc tính dc (địa chỉ) và các phương thức nhap, in. Cụ thể lớp TS2
được định nghĩa như sau:
class TS2:public TS
{
private:
char dc[30] ; // Dia chi
public:
void nhap()
{
TS::nhap();
cout << "Dia chi: " ;
fflush(stdin); gets(dc);
}
void in()
{
TS::in();
fprintf(stdprn,"\nDia chi: %s", dc);
}
};
Trong lớp TS2 không xây dựng lại phương thức xem_in, mà sẽ dùng phương thức xem_in
của lớp TS. Chương trình mới như sau:
325 326
//CT6-03
// Han che phuong thuc tinh
// Lop TS TS2
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <ctype.h>
class TS

}
} ;
class TS2:public TS
{
private:
char dc[30] ; // Dia chi
public:
void nhap()
{
TS::nhap();
cout << "Dia chi: " ;
fflush(stdin); gets(dc);
}
void in()
{
TS::in();
fprintf(stdprn,"\nDia chi: %s", dc);
}
};
void main()
{
TS2 t[100];
int i, n;
cout << "\nSo thi sinh: ";
cin >> n;
for (i=1; i<=n; ++i)
t[i].nhap();
for (i=1; i<=n; ++i)
t[i].xem_in();
getch();


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status