欢迎来到天天文库
浏览记录
ID:38697894
大小:132.00 KB
页数:6页
时间:2019-06-17
《实验四 继承与派生》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四继承与派生一、实验目的:掌握利用单继承和多重继承的方式定义派生类的方法;深刻理解在各种继承方式下构造函数和析构函数的执行顺序;理解和掌握公有继承,私有继承和保护继承对基类成员的访问机制;理解虚基类的概念以及引入虚基类的目的和作用。二、实验时间:三、实验地点:四、实验内容:1.运行以下程序,并对运行结果进行分析#include"stdafx.h"#includeusingnamespacestd;classbase{intn;public:base(inta){cout<<"constructingbasecla
2、ss"<3、ain(){subss(1,2,3);}lsubss(1,2,3);subs(inta,intb,intc):base(a),bobj(c)所以a=1,b=2,c=3,lclasssubs:publicbase,又因为base(a),所以先调用base传一个参数的构造函数base(inta),(若此处删去base(a),则会出现如下错误)l调用base(inta),所以有l然后,因为basebobj;所以这里还会调用base(inta)构造函数,此时传入的a值为bobj(c)中的c,即3,所以有l再者,才会调用subs的构造函数subs4、(inta,intb,intc):base(a),bobj(c)l相反,在调用析构函数的时候,顺序刚刚好相反,则~base(){cout<<"desstructingbaseclass==>:"<:"<5、de"stdafx.h"#include#includeusingnamespacestd;classcircle{private:floatR;public:circle(floatr){R=r;}voidarea(){cout<<"面积为:"<<3.14*R*R<6、7、lassroundtable:privatecircle,privatetable3.设计一个虚基类base,包含姓名和年龄私有数据成员以及相关成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关成员函数。再由base派生出工程师类engineer,包含职务和专业私有数据成员以及相关成员函数。然后由leader和engineer类派生出主任工程师chairman。采用一些数据进行测试(写在构造函数里)//3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
3、ain(){subss(1,2,3);}lsubss(1,2,3);subs(inta,intb,intc):base(a),bobj(c)所以a=1,b=2,c=3,lclasssubs:publicbase,又因为base(a),所以先调用base传一个参数的构造函数base(inta),(若此处删去base(a),则会出现如下错误)l调用base(inta),所以有l然后,因为basebobj;所以这里还会调用base(inta)构造函数,此时传入的a值为bobj(c)中的c,即3,所以有l再者,才会调用subs的构造函数subs
4、(inta,intb,intc):base(a),bobj(c)l相反,在调用析构函数的时候,顺序刚刚好相反,则~base(){cout<<"desstructingbaseclass==>:"<:"<5、de"stdafx.h"#include#includeusingnamespacestd;classcircle{private:floatR;public:circle(floatr){R=r;}voidarea(){cout<<"面积为:"<<3.14*R*R<6、7、lassroundtable:privatecircle,privatetable3.设计一个虚基类base,包含姓名和年龄私有数据成员以及相关成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关成员函数。再由base派生出工程师类engineer,包含职务和专业私有数据成员以及相关成员函数。然后由leader和engineer类派生出主任工程师chairman。采用一些数据进行测试(写在构造函数里)//3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
5、de"stdafx.h"#include#includeusingnamespacestd;classcircle{private:floatR;public:circle(floatr){R=r;}voidarea(){cout<<"面积为:"<<3.14*R*R<6、7、lassroundtable:privatecircle,privatetable3.设计一个虚基类base,包含姓名和年龄私有数据成员以及相关成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关成员函数。再由base派生出工程师类engineer,包含职务和专业私有数据成员以及相关成员函数。然后由leader和engineer类派生出主任工程师chairman。采用一些数据进行测试(写在构造函数里)//3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
6、7、lassroundtable:privatecircle,privatetable3.设计一个虚基类base,包含姓名和年龄私有数据成员以及相关成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关成员函数。再由base派生出工程师类engineer,包含职务和专业私有数据成员以及相关成员函数。然后由leader和engineer类派生出主任工程师chairman。采用一些数据进行测试(写在构造函数里)//3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
7、lassroundtable:privatecircle,privatetable3.设计一个虚基类base,包含姓名和年龄私有数据成员以及相关成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关成员函数。再由base派生出工程师类engineer,包含职务和专业私有数据成员以及相关成员函数。然后由leader和engineer类派生出主任工程师chairman。采用一些数据进行测试(写在构造函数里)//3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
8、m>#includeusingnamespacestd;classbase{private:stringname;intage;public:base(stringn,inta){name=
此文档下载收益归作者所有