Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất
Trang 1 trong tổng số 1 trang • Share •
Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất
Một lớp dẫn xuất có thể định nghĩa lại một hàm thành viên lớp cơ sở. Điều này được gọi là overriding. Khi hàm đó được đề cập bởi tên trong lớp dẫn xuất, phiên bản của lớp dẫn xuất được chọn một cách tự động. Toán tử định phạm vi có thể sử dụng để truy cập phiên bản của lớp cơ sở từ lớp dẫn xuất.
Ví dụ file code như sau:
file employ.h
File employ.cpp
File gio.h
File gio.cpp
File thithanh.cpp
Ví dụ file code như sau:
file employ.h
//employ.h
//dinh nghi alop employ
#ifndef EMPLOY_H
#define EMPLOY_H
class Employee
{
private:
char *ho;
char *ten;
public:
Employee(const char *h, const char *t);
void Print() const;
~Employee();
};
#endif
File employ.cpp
//employ.cpp
//dinh nghia cac ham thanh vien cua employee
#include
#include
#include
#include "employ.h"
Employee::Employee(const char *h, const char *t)
{
ho = new char[ strlen(h) 1 ];
assert(ho != 0);
strcpy(ho, h);
ten = new char[ strlen(t) 1 ];
assert(ten != 0);
strcpy(ten, t);
}
void Employee::Print() const
{
cout << ho << ' ' << ten;
}
Employee::~Employee()
{
delete [] ho;
delete [] ten;
}
File gio.h
//Dinh nghia gio lam viec cua moi cong nhan
#ifndef HOURLY_H
#define HOURLY_H
#include "employ.h"
class GioLV : public Employee
{
private:
float LuongMoiGio; //Tien luong trong moi gio
float GioMoiTuan; //So gio lam viec trong moi
//tuan
public:
GioLV(const char *ho, const char *ten, float SoGio,
float SoTien);
float TraLuong() const; // Tinh toan va tra luong
void Print() const; // Dinh nghia lai ham Print()
//cua lop co so
};
#endif
File gio.cpp
//gio.cpp
//dinh nghia cac ham thanh vien cua lop GioLV
#include
#include
#include "gio.h"
GioLV::GioLV(const char *ho, const char *ten, float SoGio,
float SoTien) : Employee(ho, ten)
{
GioMoiTuan = SoGio;
LuongMoiGio = SoTien;
}
float GioLV::TraLuong() const
{
return LuongMoiGio*GioMoiTuan;
}
void GioLV::Print() const
{
//cout<<"Gio lam viec: "<<
cout<<"So tien: "<<<<
}
File thithanh.cpp
//thucthi1.cpp
#include
#include "gio.h"
void main()
{
GioLV H("Au","Dung",40.0, 8.5);
H.Print();
cout<<<"Nhan cong: "<
H.Employee::Print();
}

nth- Admin

- Tổng số bài gửi: 544
Số điểm: 1103
Số lần được cám ơn: 33
Ngày đến diễn đàn:: 01/08/2009
Tuổi: 24
Đến từ: Thiên Đường

Similar topics» Những quy định dành cho thành viên tham gia diễn đàn
» Truyện chế tam quốc diễn nghĩa đây
» Các thì trong Tiếng Anh & cách sử dụng
» Hiệp Một Trong Sự Giao Thông Với Chúa Và Với Nhau
» QUY TRÌNH ĐIỀU DƯỠNG BỆNH XUẤT HUYẾT TIÊU HÓA
» Truyện chế tam quốc diễn nghĩa đây
» Các thì trong Tiếng Anh & cách sử dụng
» Hiệp Một Trong Sự Giao Thông Với Chúa Và Với Nhau
» QUY TRÌNH ĐIỀU DƯỠNG BỆNH XUẤT HUYẾT TIÊU HÓA
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
