- #ifndef _EMP_H_ 
- #define _EMP_H_ 
-   
- #include <cstring> 
- #include <iostream> 
- using namespace std; 
-   
- const int SLEN = 20; 
-   
- class employee 
- { 
- protected: 
- 	char fname[SLEN]; 
- 	char lname[SLEN]; 
- 	char job[SLEN]; 
- 	virtual void ShowData();  
-   
- public: 
- 	employee(); 
- 	employee(char * fn, char * ln, char * j); 
- 	employee(const employee & e ); 
- 	virtual ~employee(){ }; 
-     virtual void ShowData() const {}; 
- 	virtual void ShowAll() const; 
- 	virtual void SetAll(); 
-   
- 	friend ostream& operator<<(ostream& os, const employee & e); 
-   
- }; 
-   
-   
- class manager: virtual public employee 
- { 
- protected: 
- 	int inchargeof; 
-   
- 	void SetData(); 
- 	void ShowData() const override; 
-   
- public: 
- 	manager(); 
- 	manager(char * fn, char * ln, char * j, int ico = 0); 
- 	manager(const employee & e, int ico); 
- 	manager(const manager & m ); 
- 	void ShowAll() const; 
- 	void SetAll(); 
-   
- }; 
-   
- class fink: virtual public employee 
- { 
- protected: 
- 	char reportsto[SLEN]; 
-   
- 	void SetData(); 
- 	void ShowData() const override; 
- public: 
- 	fink(); 
- 	fink(char * fn, char * ln, char * j, char * rpo); 
- 	fink(const employee & e, char * rpo ); 
- 	fink(const fink & f); 
-   
- 	void ShowAll() const; 
- 	void SetAll(); 
-   
- }; 
-   
-   
- class highfink: public manager, public fink 
- { 
- public: 
- 	highfink(); 
- 	highfink(char * fn, char * ln, char * j, char * rpo, int ico); 
- 	highfink(const employee & e, char * rpo, int ico); 
- 	highfink(const fink & f, int ico); 
- 	highfink(const manager & m, char* rpo); 
- 	highfink(const highfink & h); 
-   
- 	void ShowAll() const; 
- 	void SetAll(); 
-   
- private: 
- 	void ShowData() const override {}; 
- }; 
-   
- int main() 
- { 
- 	return 0; 
- } 
-   
- #endif 
				I2lmbmRlZiBfRU1QX0hfCiNkZWZpbmUgX0VNUF9IXwoKI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBTTEVOID0gMjA7CgpjbGFzcyBlbXBsb3llZQp7CnByb3RlY3RlZDoKCWNoYXIgZm5hbWVbU0xFTl07CgljaGFyIGxuYW1lW1NMRU5dOwoJY2hhciBqb2JbU0xFTl07Cgl2aXJ0dWFsIHZvaWQgU2hvd0RhdGEoKTsgCgkKcHVibGljOgoJZW1wbG95ZWUoKTsKCWVtcGxveWVlKGNoYXIgKiBmbiwgY2hhciAqIGxuLCBjaGFyICogaik7CgllbXBsb3llZShjb25zdCBlbXBsb3llZSAmIGUgKTsKCXZpcnR1YWwgfmVtcGxveWVlKCl7IH07CiAgICB2aXJ0dWFsIHZvaWQgU2hvd0RhdGEoKSBjb25zdCB7fTsKCXZpcnR1YWwgdm9pZCBTaG93QWxsKCkgY29uc3Q7Cgl2aXJ0dWFsIHZvaWQgU2V0QWxsKCk7CgoJZnJpZW5kIG9zdHJlYW0mIG9wZXJhdG9yPDwob3N0cmVhbSYgb3MsIGNvbnN0IGVtcGxveWVlICYgZSk7Cgp9OwoKCmNsYXNzIG1hbmFnZXI6IHZpcnR1YWwgcHVibGljIGVtcGxveWVlCnsKcHJvdGVjdGVkOgoJaW50IGluY2hhcmdlb2Y7CgkKCXZvaWQgU2V0RGF0YSgpOwoJdm9pZCBTaG93RGF0YSgpIGNvbnN0IG92ZXJyaWRlOwoKcHVibGljOgoJbWFuYWdlcigpOwoJbWFuYWdlcihjaGFyICogZm4sIGNoYXIgKiBsbiwgY2hhciAqIGosIGludCBpY28gPSAwKTsKCW1hbmFnZXIoY29uc3QgZW1wbG95ZWUgJiBlLCBpbnQgaWNvKTsKCW1hbmFnZXIoY29uc3QgbWFuYWdlciAmIG0gKTsKCXZvaWQgU2hvd0FsbCgpIGNvbnN0OwoJdm9pZCBTZXRBbGwoKTsKCn07CgpjbGFzcyBmaW5rOiB2aXJ0dWFsIHB1YmxpYyBlbXBsb3llZQp7CnByb3RlY3RlZDoKCWNoYXIgcmVwb3J0c3RvW1NMRU5dOwoJCgl2b2lkIFNldERhdGEoKTsKCXZvaWQgU2hvd0RhdGEoKSBjb25zdCBvdmVycmlkZTsKcHVibGljOgoJZmluaygpOwoJZmluayhjaGFyICogZm4sIGNoYXIgKiBsbiwgY2hhciAqIGosIGNoYXIgKiBycG8pOwoJZmluayhjb25zdCBlbXBsb3llZSAmIGUsIGNoYXIgKiBycG8gKTsKCWZpbmsoY29uc3QgZmluayAmIGYpOwoJCgl2b2lkIFNob3dBbGwoKSBjb25zdDsKCXZvaWQgU2V0QWxsKCk7CgkKfTsKCgpjbGFzcyBoaWdoZmluazogcHVibGljIG1hbmFnZXIsIHB1YmxpYyBmaW5rCnsKcHVibGljOgoJaGlnaGZpbmsoKTsKCWhpZ2hmaW5rKGNoYXIgKiBmbiwgY2hhciAqIGxuLCBjaGFyICogaiwgY2hhciAqIHJwbywgaW50IGljbyk7CgloaWdoZmluayhjb25zdCBlbXBsb3llZSAmIGUsIGNoYXIgKiBycG8sIGludCBpY28pOwoJaGlnaGZpbmsoY29uc3QgZmluayAmIGYsIGludCBpY28pOwoJaGlnaGZpbmsoY29uc3QgbWFuYWdlciAmIG0sIGNoYXIqIHJwbyk7CgloaWdoZmluayhjb25zdCBoaWdoZmluayAmIGgpOwoKCXZvaWQgU2hvd0FsbCgpIGNvbnN0OwoJdm9pZCBTZXRBbGwoKTsKCQpwcml2YXRlOgoJdm9pZCBTaG93RGF0YSgpIGNvbnN0IG92ZXJyaWRlIHt9Owp9OwoKaW50IG1haW4oKQp7CglyZXR1cm4gMDsKfQoKI2VuZGlm