如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第四章类和对象(第1次课上机实验要求)(一)实验目的:1.掌握类的定义方法。2.掌握类成员函数的定义方法。3.掌握类对象的定义及其访问方式。4.理解构造函数和析构函数的定义、作用(二)实验内容1、基本类型题目(1)编写一个时钟类,包含3个数据成员,两个成员函数。(2)指出下列程序段的错误<1>下面是Date类的部分定义:classDate{public://函数原型private:intyear=0;intmonth=0;intday=0;};<2>#include<iostream.h>calsspoint{public:point(inta,intb){x=a;y=b;}private:intx,y;};voidmain(){pointdata(5,5);cout<<data.x<<endl;cout<<data.y<<endl;}<3>classCSample{inta=2.5;(A)CSample();(B)public:CSample(intval);(C)~CSample();};(D)A处成员无属性,a不能在声明的同时赋值。B构造函数哪怕为空操作,也应加入大括号C同上D析构函数,应加入大括号以及,符号应该改为半角符号阅读程序,预测功能,再上机编辑、运行该程序,以验证自己的预测。以下程序定义一个屏幕上的点类,该类具有x、y坐标属性。#include<iostream.h>classPoint{public:Point(intxx=0,intyy=0){X=xx;Y=yy;cout<<"调用构造函数\n";}Point(Point&p);intGetX(){returnX;}intGetY(){returnY;}private:intX,Y;};Point::Point(Point&p){X=p.X;Y=p.Y;cout<<"调用拷贝构造函数\n";}voidmain(){PointA(3,4);PointB(A);//b行cout<<B.GetX()<<"\n";}思考:<1>将b行改写为PointB=A;程序输出结果会有变化吗?<2>将b行改写为PointB;B=A;程序输出结果会有变化吗?(2)(3)定义一个学生类,其中有3个数据成员:学号、姓名、年龄,以及若干成员函数。同时编写main函数使用这个类,实现对学生数据的赋值和输出。(4)设计一个有关正方体的类,其属性是棱长,要求能够计算正方体的底面积和体积。2、提高类型题目(1)设计一个圆环类,其中小圆半径为3.5,大圆半径为8。编程定义一个circle类,含有私有变量半径r,能够初始化r、计算圆面积。主函数中通过定义2个对象(大圆和小圆)来计算出圆环的面积。(2)编写一个程序,设计一个点类Point,求两个点之间的距离。3、拓展类型题目(1)设计一个类Sample,有一个私有数据成员n,建立该类的4个对象s1(n=10)、s2(n=20)、s3(n=30)和s4(n=40),建立一个成员函数,实现这些对象n值的累加。(2)编写时钟类,要求带默认形参值和带3个参数的构造函数