1、C程序设计实验报告Exercise 7 继承与派生1 实验目的(1)学习定义和使用类的继承关系,定义派生类。(2)熟悉不同继承方式下对基类成员的访问控制。(3)学习利用虚基类解决二义性问题。2 实验要求(1)定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age 改为公有成员变量,还回有问题吗?编程试之。源程序代码:#includeusingnamespacestd;classAnimalpublic:Animal()age=0;coutusingnamespacestd;classBaseCl
2、asspublic:BaseClass() number+;coutusingnamespace std;classvehiclepublic:intMaxspeed,Weight;vehicle()cout“构造了vehicle对象“endl;vehicle()cout“析构了vehicle对象“endl;voidrun()cout“程序运行“endl;voidstop()cout“程序停止“endl;classbicycle:virtualpublic vehiclepublic:intHeight;bicycle()cout“构造了bicycle对象“endl;bicycle()cout
3、“析构了bicycle对象“endl;classmotorcar:virtualpublicvehiclepublic:intSeatNun;motorcar()cout“构造了motorcar对象“endl;motorcar()cout“析构了motorcar对象“endl;classmotorbicycle:publicbicycle,public motorcarpublic:motorbicycle()cout“构造了motorbicycle对象“endl;motorbicycle()cout“析构了motorbicycle对象“endl;private:intNumber;intmain() motorbicyclea;a.run();a.stop();return0;运行结果:3 总结体会派生类继承了来自基类除构造函数和析构函数以外的所有成员函数和成员数据,派生类也可以加入自己的特有成员;如果在派生类中需直接运用基类成员数据要将该数据在基类定义到public中;如果一个类派生出两个以上派生类,需定义为虚基类。