1、切记不要耽误!实验一:简单类与对象 一、实验目的1、熟悉VC+的编程环境,掌握VC+ 6.0的调试方法。2、掌握简单的类与对象的定义。 二、实验内容用类定义,输入半径和高,输出圆柱体的底面积和体积。 三、实验要求1、硬件设备:奔腾及以上计算机,局域网。2、软件环境:WINDOWS XP、VC+6.0。3、实验课前预习,课后及时完成实验报告。4、实验过程及记录按题目格式要求填写在代码清单中。 四、代码清单或实验步骤#includeusing namespace std;const float PI=3.14159f;class Cylinderprivate: float radius; flo
2、at high;public: Cylinder() Cylinder(float r,float h) radius=r; high=h; void setradius(float r) void sethigh(float h) float bottomarea() return PI*radius*radius; float volumn() return bottomarea()*high;void main()float r,h;Cylinder onecylinder;coutr;请输入高:h;onecylinder.setradius(r);onecylinder.sethigh
3、(h);底面积为:onecylinder.bottomarea()endl;体积为:onecylinder.volumn()num,num);name,name); this-age=age; void set(char num,char name,int age) void print() cout学号:num,:name,年龄:agenum;请输入姓名:name;请输入年龄:age; zs.set(num,name,age); zs.print(); strcpy(this.num,num); strcpy(this.name,name); this.age=age;E:vctesttes
4、t2main.cpp(25) : error C2228: left of .num must have class/struct/union typevctesttest2main.cpp(26) :.namevctesttest2main.cpp(27) :.age将程序代码修改如下程序调试完毕,输出结果如下:面向对象编程,必须要首先要分析类结构,便于实现该类。本实验中的学生类的示意图如下:Student类num学号name姓名age 年龄Student()构造函数Student()析构函数Set()输入函数Print()输出函数实验三:类与对象/继承与派生一、实验目的1、进一步熟悉VC+
5、6.0编程环境,掌握程序的编写、调试和运行。2、掌握const对象与const成员函数的用法。3、掌握友元函数与友元类的用途。4、熟悉不同派生方式的访问特性,掌握类层次中构造函数的定义方式和派生类构造函数和析构函数的调用次序。5、学习定义虚基类的方法,利用虚基类解决二义性问题。二、实验内容class area_c1 protected: double height; double width; public: area_c1(double r,double s) height=r;width=s; virtual double area()=0;(1)建立基类area_c1的两个派生类rect
6、angle与isosceles,让每一个派生类都包含一个函数area(),分别用来返回矩形与三角形的面积。用构造函数对height与width进行初始化。(2)写出主程序,用来求height与width分别为10.0与5.0的矩形面积,以及求height与width分别为4.0与6.0的三角形面积。(3)要求通过使用基类指针访问虚函数的方法(即运行时的多态性)分别求出矩形和三角形面积。四、代码清单或实验步骤class rectangle:public area_c1 rectangle(double r,double s):area_c1(r,s) double area() return h
7、eight*width;class isosceles: isosceles(double r,double s): return height*width/2;rectangle rectangle(10,5);isosceles isosceles(4,6);area_c1 *ptr;ptr=&rectangle;矩形的面积为:ptr-area()isosceles;三角形的面积为:父类area_c1中的两个成员派生到了两个子类中时,不能通过子类的构造函数直接对这两个成员进行初始化,必须通过调用父类的构造函数进行初始化才行,如下:六、讨论或体会或改进实验的建议C+中运行时多态是通过指向基类的指针和虚函数机制来实现的。产生运行时多态有如下3个前提:(1)类之间的继承关系满足赋值兼容性规则(2)改写了同名虚函数(3)根据赋值兼容性规则使用指针(或引用)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1