17_2.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:
C#编程
开发平台:
Visual C++
- #include <iostream.h>
- #include <typeinfo.h>
- class Father{
- public:
- Father(){ cout <<"father is created.n"; }
- void DoWork(){ DriveACar(); }
- void DoMannulWork(){ RepairTV(); }
- void DriveACar() { cout <<&typeid(*this).name()[6] <<" Drive a car.n"; }
- protected:
- void RepairTV() { cout <<&typeid(*this).name()[6] <<" Repair a TV set.n"; }
- };
- class Mother{
- public:
- Mother(){ cout <<"mother is created.n"; }
- void SingASong() { cout <<&typeid(*this).name()[6] <<" Sing a song.n"; }
- void DoWork(){ SingASong(); } //正式工
- void DoMannulWork() { cout <<&typeid(*this).name()[6] <<" Do mannul work.n"; } //小工
- };
- class Boy : public Father, public Mother{
- public:
- Boy(){ cout <<"boy is created.n"; }
- void RepairTV(){ cout <<"boy "; Father::RepairTV(); }
- void SingASong(){ cout <<"boy "; Mother::SingASong(); }
- void PlayPingPong() { cout <<&typeid(*this).name()[6] <<" Play pingpong.n"; };
- };
- void main()
- {
- Father father;
- Mother mother;
- Boy boy;
- father.DoWork();
- mother.DoWork();
- mother.DoMannulWork();
- boy.PlayPingPong();
- boy.DriveACar();
- boy.SingASong();
- father.DoMannulWork();
- boy.RepairTV();
- }
- //修改class Father
- //void RepairTV(); 改为public