hNhan { char cmnd10; số CMND char hoten; họ tên bệnh nhân protected: int namsinh; năm sinh public: char diachi; địa chỉ bệnh nhân BenhNhan(); int SoTuoi(); Số tuổi bệnh nhân void HienThi(); Hiển thị thông tin void NhapTT(); Nhập thông tin virtual void InThongTin(); char LayHoten() { return hoten; } … Khai báo các phương thức khác }; class Date { int ngay, thang, nam; public: Date(int d=1, int m=1, int y=2000) { ngay=d; thang=m; nam=y; } void InNgay () { … } void NhapNgay() { … } int GiaTriNgay() { return ngay; } int GiaTriThang() { return thang; } int GiaTriNam() { return nam; } int operator > (Date d) { … } int operator == (Date d) { … } int operator (Date d) { … } Date operator + (int songay) { … } }; class BenhVien { char ten; tên bệnh viện int sogiuong; số giường bệnh dành cho điều trị cúm BenhNhanCum dsbncum; danh sách bệnh nhân cúm đang điều trị int soluong; số lượng bệnh nhân cúm đang điều trị public : BenhVien(int p_sogiuong = 20); BenhVien(char p_ten, int p_sogiuong); void In(); Hiển thị thông tin void Nhap(); Nhập thông tin BenhNhanCum ThongTinBenhNhanCum(int i) { return dsbncumi; } void ThemBenhNhanCum(BenhNhanCum b) { … } int LaySoLuong() { return soluong; } … Khai báo các phương thức khác protected: char LayTen() { return ten; } Lấy tên của bệnh viện }; class BenhNhanCum : public BenhNhan { char noixetnghiem; Nơi xét nghiệm bệnh cúm của bệnh nhân protected: Date ngaynhapvien; ngày nhập viện public: int tinhtrang; tình trạng (0: đang đihNhan { char cmnd10; số CMND char hoten; họ tên bệnh nhân protected: int namsinh; năm sinh public: char diachi; địa chỉ bệnh nhân BenhNhan(); int SoTuoi(); Số tuổi bệnh nhân void HienThi(); Hiển thị thông tin void NhapTT(); Nhập thông tin virtual void InThongTin(); char LayHoten() { return hoten; } … Khai báo các phương thức khác }; class Date { int ngay, thang, nam; public: Date(int d=1, int m=1, int y=2000) { ngay=d; thang=m; nam=y; } void InNgay () { … } void NhapNgay() { … } int GiaTriNgay() { return ngay; } int GiaTriThang() { return thang; } int GiaTriNam() { return nam; } int operator > (Date d) { … } int operator == (Date d) { … } int operator (Date d) { … } Date operator + (int songay) { … } }; class BenhVien { char ten; tên bệnh viện int sogiuong; số giường bệnh dành cho điều trị cúm BenhNhanCum dsbncum; danh sách bệnh nhân cúm đang điều trị int soluong; số lượng bệnh nhân cúm đang điều trị public : BenhVien(int p_sogiuong = 20); BenhVien(char p_ten, int p_sogiuong); void In(); Hiển thị thông tin void Nhap(); Nhập thông tin BenhNhanCum ThongTinBenhNhanCum(int i) { return dsbncumi; } void ThemBenhNhanCum(BenhNhanCum b) { … } int LaySoLuong() { return soluong; } … Khai báo các phương thức khác protected: char LayTen() { return ten; } Lấy tên của bệnh viện }; class BenhNhanCum : public BenhNhan { char noixetnghiem; Nơi xét nghiệm bệnh cúm của bệnh nhân protected: Date ngaynhapvien; ngày nhập viện public: int tinhtrang; tình trạng (0: đang đihNhan { char cmnd10; số CMND char hoten; họ tên bệnh nhân protected: int namsinh; năm sinh public: char diachi; địa chỉ bệnh nhân BenhNhan(); int SoTuoi(); Số tuổi bệnh nhân void HienThi(); Hiển thị thông tin void NhapTT(); Nhập thông tin virtual void InThongTin(); char LayHoten() { return hoten; } … Khai báo các phương thức khác }; class Date { int ngay, thang, nam; public: Date(int d=1, int m=1, int y=2000) { ngay=d; thang=m; nam=y; } void InNgay () { … } void NhapNgay() { … } int GiaTriNgay() { return ngay; } int GiaTriThang() { return thang; } int GiaTriNam() { return nam; } int operator > (Date d) { … } int operator == (Date d) { … } int operator (Date d) { … } Date operator + (int songay) { … } }; class BenhVien { char ten; tên bệnh viện int sogiuong; số giường bệnh dành cho điều trị cúm BenhNhanCum dsbncum; danh sách bệnh nhân cúm đang điều trị int soluong; số lượng bệnh nhân cúm đang điều trị public : BenhVien(int p_sogiuong = 20); BenhVien(char p_ten, int p_sogiuong); void In(); Hiển thị thông tin void Nhap(); Nhập thông tin BenhNhanCum ThongTinBenhNhanCum(int i) { return dsbncumi; } void ThemBenhNhanCum(BenhNhanCum b) { … } int LaySoLuong() { return soluong; } … Khai báo các phương thức khác protected: char LayTen() { return ten; } Lấy tên của bệnh viện }; class BenhNhanCum : public BenhNhan { char noixetnghiem; Nơi xét nghiệm bệnh cúm của bệnh nhân protected: Date ngaynhapvien; ngày nhập viện public: int tinhtrang; tình trạng (0: đang đi
Trang 1Đề thi thử môn “Lập trình hướng đối tượng C++” (CT114) Đặt vấn đề
ĐẶT VẤN ĐỀ ĐẶT VẤN ĐỀ
Sinh viên dùng phần đặt vấn đề này để làm đề thi thử
class BenhNhan {
char cmnd[10]; // số CMND
char* hoten; // họ tên bệnh nhân
protected:
int namsinh; // năm sinh
public:
char* diachi; // địa chỉ bệnh nhân
BenhNhan();
int SoTuoi(); // Số tuổi bệnh nhân
void HienThi(); // Hiển thị thông tin
void NhapTT(); // Nhập thông tin
virtual void InThongTin();
char* LayHoten() { return hoten; }
… // Khai báo các phương thức khác
};
class Date {
int ngay, thang, nam;
public:
Date(int d=1, int m=1, int y=2000)
{ ngay=d; thang=m; nam=y; } void InNgay () { … } void NhapNgay() { … } int GiaTriNgay() { return ngay; } int GiaTriThang() { return thang; } int GiaTriNam() { return nam; } int operator > (Date d) { … } int operator == (Date d) { … } int operator - (Date d) { … } Date operator + (int songay) { … } };
class BenhVien {
char* ten; // tên bệnh viện
int sogiuong; // số giường bệnh dành cho điều trị cúm
BenhNhanCum* dsbncum; // danh sách bệnh nhân cúm đang điều trị
int soluong; // số lượng bệnh nhân cúm đang điều trị
public :
BenhVien(int p_sogiuong = 20);
BenhVien(char* p_ten, int p_sogiuong);
void In(); // Hiển thị thông tin
void Nhap(); // Nhập thông tin
BenhNhanCum& ThongTinBenhNhanCum(int i) { return dsbncum[i]; }
void ThemBenhNhanCum(BenhNhanCum b) { … }
int LaySoLuong() { return soluong; }
… // Khai báo các phương thức khác
protected:
char* LayTen() { return ten; } // Lấy tên của bệnh viện
};
class BenhNhanCum : public BenhNhan {
char* noixetnghiem; // Nơi xét nghiệm bệnh cúm của bệnh nhân
protected:
Date ngaynhapvien; // ngày nhập viện
public:
int tinhtrang; // tình trạng (0: đang điều trị; 1: đã hết-ra viện; 2: đã chết)
BenhNhanCum();
… // Khai báo các phương thức khác
void NhapTT();
void In();
void InThongTin();
Date LayNgayNhapVien() { return ngaynhapvien; }
int SoNgay (Date homnay);
};