C++Primer Plus(第六版) 第十四章 第五题

来源:互联网 发布:怎么淘宝开店 编辑:程序博客网 时间:2024/05/20 08:43

本道题主要是写定义,就只放定义的cpp代码,另外两个题目上都有

emp.cpp

#include "emp.h"abstr_emp::abstr_emp(){}abstr_emp::abstr_emp(const std::string & fn, const std::string & ln, const std::string & j){fname = fn;lname = ln;job = j;}void abstr_emp::ShowAll() const{std::cout << "Name: " << fname << " " << lname << std::endl;std::cout << "Job: " << job << std::endl;}void abstr_emp::SetAll(){std::cout << "Please input your first name: ";std::cin >> fname;std::cout << "Please input your last name: ";std::cin >> lname;std::cout << "Please input your job: ";std::cin >> job;}abstr_emp::~abstr_emp(){}std::ostream & operator<<(std::ostream & os, const abstr_emp & e){os << e.fname << " " << e.lname << ": " << e.job;return os;}employee::employee() :abstr_emp(){}employee::employee(const std::string & fn, const std::string & ln, const std::string & j) : abstr_emp(fn, ln, j){}void employee::ShowAll() const{abstr_emp::ShowAll();}void employee::SetAll(){abstr_emp::SetAll();}manager::manager() :abstr_emp(), inchargeof(0){}manager::manager(const std::string & fn, const std::string & ln, const std::string & j, int ico) : abstr_emp(fn, ln, j), inchargeof(ico){}manager::manager(const abstr_emp & e, int ico) : abstr_emp(e), inchargeof(ico){}manager::manager(const manager & m) : abstr_emp(m){}void manager::ShowAll() const{abstr_emp::ShowAll();std::cout << "InChargeOf: " << inchargeof << std::endl;}void manager::SetAll(){abstr_emp::SetAll();std::cout << "Please input your inchargeof: ";std::cin >> inchargeof;}fink::fink() :abstr_emp(){}fink::fink(const std::string & fn, const std::string & ln, const std::string & j, const std::string & rpo) : abstr_emp(fn, ln, j), reportsto(rpo){}fink::fink(const abstr_emp & e, const std::string & rpo) : abstr_emp(e), reportsto(rpo){}fink::fink(const fink & e) : abstr_emp(e){}void fink::ShowAll() const{abstr_emp::ShowAll();std::cout << "ReportsTo: " << reportsto << std::endl;}void fink::SetAll(){abstr_emp::SetAll();std::cout << "Please input ReportsTo: ";std::cin >> reportsto;}highfink::highfink() :abstr_emp(), manager(), fink(){}highfink::highfink(const std::string & fn, const std::string & ln, const std::string & j, const std::string & rpo, int ico): abstr_emp(fn, ln, j), manager(fn, ln, j, ico), fink(fn, ln, j, rpo){}highfink::highfink(const abstr_emp & e, const std::string & rpo, int ico): abstr_emp(e), manager(e, ico), fink(e, rpo){}highfink::highfink(const fink & f, int ico): abstr_emp(f), manager(f, ico), fink(f){}highfink::highfink(const manager & m, const std::string & rpo): abstr_emp(m), manager(m), fink(m, rpo){}highfink::highfink(const highfink & h): abstr_emp(h), manager(h), fink(h){}void highfink::ShowAll() const{abstr_emp::ShowAll();std::cout << "InChargeOf: " << manager::InChargeOf() << std::endl;std::cout << "ReportsTo: " << fink::ReportsTo() << std::endl;}void highfink::SetAll(){abstr_emp::SetAll();std::cout << "Please input your inchargeof: ";std::cin >> manager::InChargeOf();std::cout << "Please input ReportsTo: ";std::cin >> fink::ReportsTo();}


阅读全文
0 0