实验六 对象数组与对象指针
一、实验目的
1) 2) 3) 4)
掌握数组与指针的定义与使用方法; 理解数组与指针的存储分配与表示; 学习向函数传递数组的方法;
学习用指针和引用向函数传递参数。
二、实验内容及要求
1) 在实验五的student类基础上,实现一个Sum函数,可将一个student类数组作为参数传送到函数中,计算出语、数、英的总分,并输出在屏幕上;
2) 要求Sum函数中的参数传送分别用普通、指针和引用三种方式实现。
三、实验重点
1)直接传送、引用传送、指针传送三种方式的区别,分别对参数值的影响;
四、实验步骤
1) 进入VC+;2)编写程序;3)调试程序;4)分析结果。
五、实验环境
Windows 2000、VC++ 6.0
六、思考题
对象数组和对象指针与普通对象和普通指针的关系。
七、实验报告要求
1)实验名称、日期;2)姓名、班级、学号;3)源代码需有注释;4)实验结果;5)心得体会。
八、参考书籍 《C++面向对象程序设计习题解析与上机指导》,陈维兴等,清华大学出版社
- 9 -
实验七 静态成员与友元
一、实验目的
1) 学习友元的使用;
2) 学习静态数据成员和静态成员函数的使用。
二、实验内容及要求
1) 在实验五的student类基础上,加一个静态数据成员Count,用于保存当前所有student对象的数量,然后在类中实现一个count成员函数,可计算出学生的总数,并输出在屏幕上;
2) 为student声明一个友元类com,该类包含一个sum函数,计算出所有学生的语、数、英的总分,并输出在屏幕上。
三、实验重点
友元的访问特性; 静态数据成员的特点。
四、实验步骤
2) 进入VC+;2)编写程序;3)调试程序;4)分析结果。
五、实验环境
Windows 2000、VC++ 6.0
六、思考题
静态成员函数与静态数据成员相比,有什么特点?友元函数、友元成员函数、友元类的关系。
七、实验报告要求
1)实验名称、日期;2)姓名、班级、学号;3)源代码需有注释;4)实验结果;5)心得体会。
八、参考书籍
《C++面向对象程序设计习题解析与上机指导》,陈维兴等,清华大学出版社
- 10 -
实验八 派生类与继承
一、实验目的
1) 学习类的的继承,能够定义和使用类的继承关系; 2) 学习派生类的声明与定义方法;
3) 熟悉公有派生和私有派生的访问特性。
二、实验内容及要求
在实验五的student类基础上,定义小学生、中学生、大学生三个继承类; 小学生类增加“年级”数据成员及读写函数,实现全部信息的屏幕输出; 中学生类增加“文理科”数据成员及读写函数,实现全部信息的屏幕输出; 大学生类增加“专业”数据成员及读写函数,实现全部信息的屏幕输出。
三、实验重点
Private和public派生方式对基类数据成员的可见性。
四、实验步骤
1) 进入VC+;2)编写程序;3)调试程序;4)分析结果。
五、实验环境
Windows 2000、VC++ 6.0
六、思考题
为什么要派生类?类继承的好处是什么? 派生类的构造/析构函数执行次序。
七、实验报告要求
1)实验名称、日期;2)姓名、班级、学号;3)源代码需有注释;4)实验结果;5)心得体会。
八、参考书籍 《C++面向对象程序设计习题解析与上机指导》,陈维兴等,清华大学出版社
- 11 -
实验九 虚基类
一、实验目的
1) 学习虚函数的定义与使用方法。
二、实验内容及要求
1) 定义base1、base2、base3、derived四个类,其中base2和base3继承自base1,derived类继承自base2和base3二个类;
2) 使用虚基类和作用域运算符二种方法来访问base1类中的数据成员。
三、实验重点
1) C++解决二义性中虚基类的使用。
四、实验步骤
1) 进入VC+;2)编写程序;3)调试程序;4)分析结果。
五、实验环境
Windows 2000、VC++ 6.0
六、思考题
什么叫二义性?
七、实验报告要求
1)实验名称、日期;2)姓名、班级、学号;3)源代码需有注释;4)实验结果;5)心得体会。
八、参考书籍 《C++面向对象程序设计习题解析与上机指导》,陈维兴等,清华大学出版社
- 12 -
相关推荐: