PDF Google Drive Downloader v1.1


Báo lỗi sự cố

Nội dung text Tips for implementing inheritance in C++.pdf

Object-Oriented Programming - LAB SED Page 1 How to call a base class method from a derived class (when method names are the same) Let's consider the following example with NhanVien as the base class and NhanVienKyThuat as the derived class. class NhanVien { private: string hoTen, diaChi; public: NhanVien(); NhanVien(const string& ht, const string& dc); ~NhanVien(); friend ostream& operator<<(ostream& os, const NhanVien& nv); }; NhanVien::NhanVien() { hoTen = ""; diaChi = ""; } NhanVien::NhanVien(const string& ht, const string& dc) { hoTen = ht; diaChi = dc; } NhanVien::~NhanVien() { } ostream& operator<<(ostream& os, const NhanVien& nv) { os << nv.hoTen << " (" << nv.diaChi << ")"; return os; } Implement the NhanVienKyThuat class class NhanVienKyThuat : public NhanVien { private: string chungChiNganh; public: NhanVienKyThuat(); NhanVienKyThuat(const string& ht, const string& dc, const string& cc); ~NhanVienKyThuat(); friend ostream& operator<<(ostream& os, const NhanVienKyThuat& nvkt); }; SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT

Object-Oriented Programming - LAB SED Page 3 Problems encountered when needing to call the correct method of the derived object class Let's consider an example of implementing area calculation methods for HinhChuNhat and HinhTron, which are derived from HinhHocPhang. class HinhHocPhang { public: HinhHocPhang() {} float TinhDienTich(); }; float HinhHocPhang::TinhDienTich() { return 0; } class HinhChuNhat : public HinhHocPhang { private: float chieuDai, chieuRong; public: HinhChuNhat(); HinhChuNhat(const float& cd, const float& cr); float TinhDienTich(); }; HinhChuNhat::HinhChuNhat() { chieuDai = chieuRong = 0; } HinhChuNhat::HinhChuNhat(const float& cd, const float& cr) { chieuDai = (cd == 0) ? 1 : abs(cd); chieuRong = (cr == 0) ? 1 : abs(cr); } float HinhChuNhat::TinhDienTich() { return chieuDai * chieuRong; } #define PI 3.14159 class HinhTron : public HinhHocPhang { private: float banKinh; SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT SE@FIT

Tài liệu liên quan

x
Báo cáo lỗi download
Nội dung báo cáo



Chất lượng file Download bị lỗi:
Họ tên:
Email:
Bình luận
Trong quá trình tải gặp lỗi, sự cố,.. hoặc có thắc mắc gì vui lòng để lại bình luận dưới đây. Xin cảm ơn.