实验1 类和简单对象(4学时)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Coordinate::Coordinate(Coordinate &p){ x=p.x; y=p.y; cout<<"Copy initianization constructor is called."<<endl;
1
}
int main(){ Coordinate p1(3,4); Coordinate p2(p1); Coordinate p3=p2; cout<<"p3=("<<p3.getx()<<","<<p3.gety()<<")"<<endl;
return 0; };
3. 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试
2
该类设计的正确性。 #include <iostream> using namespace std;
class coutner { public:
counter(int number); void increment(); void decrement(); int getvalue(); void print(); private: int value; };
3
(7) 统计重修科目 注意: (1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计; (2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果; (3)为增加程序可读性,请在程序中对类成员进行适当注释说明;
实验要求:
(1)实验前做好预习,并写出预习报告。 (2)实验期间禁止做与实验无关的项目、以及浏览网页、打游戏等。 (3)认真完成并按时提交实验报告。
6. 定义一个学生类 CStudent 实现简单的学籍管理功能,要求该类至少实现以下功能: (1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩) (2) 输出学生的基本信息 (3) 选课(输入时间和所选的课程) (4) 统计每门课的学分绩点 (5) 统计每学期的平均学分绩点 (6) 统计重考科目
//构造函数 //给 value 原值加 1 //给 value 原值减 1 //取得计数器值 //显示计数
//数据成员
int main(){ ...
//定义 counter 类的几个对象并调用有关成员函数
return 0; }
4. 定义一个类 ClsName,要求该类设计如下: (1)该类有两个整型数据成员 x 和 y; (2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中
输出必要的信息以示区别; (3)设计 2 个成员函数用来读取数据成员 x 和 y; (4)设计 2 个成员函数用来设置数据成员 x 和 y; (5)设计 1 个成员函数用来在屏幕上打印输出数据成员 x 和 y; (6)在 main()函数中用三个不同的Hale Waihona Puke Baidu造函数创建 3 个对象,并使用所有的成员函数对这些对象进行必要的操作。
三、 练习项目
1. 输入下列程序,按要求进行实验,并记录实验的结果。 #include <iostream> using namespace std;
class Coordinate { public: Coordinate(int x1, int y1){x=x1; y=y1;} Coordinate(Coordinate &p); ~Coordinate(){cout<<"Destructor is called."<<endl;} int getx(){return x;} int gety(){return y;} private: int x, y; };
return 0; }
(1) 记录程序的运行结果 (2) 将 Coordinate 类中带有两个参数的构造函数进行修改,在函数体内增加如下语句:
cout<<”Constructor is called.”<<endl; 重新记录程序的运行结果,并解释输出结果。 (3) 按下列要求进行测试。 在主函数体内,添加如下语句: Coordinate p4; Coordinate p5(2); 测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改? (4) 结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用适当的构造函数?
补充实验题:
(1)教材 134 页【3.33】-【3.36】
4
2. 根据注释语句的提示实现类 Date 的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。 #include <iostream.h> class Date{ public: void printDate(); //显示日期 void setDay(int); //设置日的值 void setMonth(int); //设置月的值 void setYear(int); //设置年的值 private: int day, month, year; }; int main(){ Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2010); testDay.printDate();
5. 建立类 cylinder,包括两个数据成员 radius 和 height,分别表示圆柱体的半径和高度, cylinder 类的构造函数被传递
了两个 double 值来初始化这两个成员;定义成员函数 area()和 volume 用来求圆柱体的表面积和体积,定义成员函数 print() 打印 cylinder 类的相关信息。最后,在主函数中对 cylinder 类的设计进行测试。
实验一
(2010-3-23)
一、 实验名称:
类和简单对象。
二、 实验目的:
(1)理解类和对象的概念; (2)掌握类与对象的定义方法; (3)理解类的成员的访问控制的含义,公有和私有成员的区别; (4)掌握构造函数和析构函数的含义与作用、定义方式和实现; (5)能够根据给定的要求定义类并实现类的成员函数; (6)掌握 string 类的使用方法 (7)了解 C++面向对象程序设计的基本思想、基本方法和基本步骤; (8)掌握 MS Visual C++6.0 调试 C++程序的基本方法、基本步骤。
1
}
int main(){ Coordinate p1(3,4); Coordinate p2(p1); Coordinate p3=p2; cout<<"p3=("<<p3.getx()<<","<<p3.gety()<<")"<<endl;
return 0; };
3. 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试
2
该类设计的正确性。 #include <iostream> using namespace std;
class coutner { public:
counter(int number); void increment(); void decrement(); int getvalue(); void print(); private: int value; };
3
(7) 统计重修科目 注意: (1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计; (2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果; (3)为增加程序可读性,请在程序中对类成员进行适当注释说明;
实验要求:
(1)实验前做好预习,并写出预习报告。 (2)实验期间禁止做与实验无关的项目、以及浏览网页、打游戏等。 (3)认真完成并按时提交实验报告。
6. 定义一个学生类 CStudent 实现简单的学籍管理功能,要求该类至少实现以下功能: (1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩) (2) 输出学生的基本信息 (3) 选课(输入时间和所选的课程) (4) 统计每门课的学分绩点 (5) 统计每学期的平均学分绩点 (6) 统计重考科目
//构造函数 //给 value 原值加 1 //给 value 原值减 1 //取得计数器值 //显示计数
//数据成员
int main(){ ...
//定义 counter 类的几个对象并调用有关成员函数
return 0; }
4. 定义一个类 ClsName,要求该类设计如下: (1)该类有两个整型数据成员 x 和 y; (2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中
输出必要的信息以示区别; (3)设计 2 个成员函数用来读取数据成员 x 和 y; (4)设计 2 个成员函数用来设置数据成员 x 和 y; (5)设计 1 个成员函数用来在屏幕上打印输出数据成员 x 和 y; (6)在 main()函数中用三个不同的Hale Waihona Puke Baidu造函数创建 3 个对象,并使用所有的成员函数对这些对象进行必要的操作。
三、 练习项目
1. 输入下列程序,按要求进行实验,并记录实验的结果。 #include <iostream> using namespace std;
class Coordinate { public: Coordinate(int x1, int y1){x=x1; y=y1;} Coordinate(Coordinate &p); ~Coordinate(){cout<<"Destructor is called."<<endl;} int getx(){return x;} int gety(){return y;} private: int x, y; };
return 0; }
(1) 记录程序的运行结果 (2) 将 Coordinate 类中带有两个参数的构造函数进行修改,在函数体内增加如下语句:
cout<<”Constructor is called.”<<endl; 重新记录程序的运行结果,并解释输出结果。 (3) 按下列要求进行测试。 在主函数体内,添加如下语句: Coordinate p4; Coordinate p5(2); 测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改? (4) 结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用适当的构造函数?
补充实验题:
(1)教材 134 页【3.33】-【3.36】
4
2. 根据注释语句的提示实现类 Date 的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。 #include <iostream.h> class Date{ public: void printDate(); //显示日期 void setDay(int); //设置日的值 void setMonth(int); //设置月的值 void setYear(int); //设置年的值 private: int day, month, year; }; int main(){ Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2010); testDay.printDate();
5. 建立类 cylinder,包括两个数据成员 radius 和 height,分别表示圆柱体的半径和高度, cylinder 类的构造函数被传递
了两个 double 值来初始化这两个成员;定义成员函数 area()和 volume 用来求圆柱体的表面积和体积,定义成员函数 print() 打印 cylinder 类的相关信息。最后,在主函数中对 cylinder 类的设计进行测试。
实验一
(2010-3-23)
一、 实验名称:
类和简单对象。
二、 实验目的:
(1)理解类和对象的概念; (2)掌握类与对象的定义方法; (3)理解类的成员的访问控制的含义,公有和私有成员的区别; (4)掌握构造函数和析构函数的含义与作用、定义方式和实现; (5)能够根据给定的要求定义类并实现类的成员函数; (6)掌握 string 类的使用方法 (7)了解 C++面向对象程序设计的基本思想、基本方法和基本步骤; (8)掌握 MS Visual C++6.0 调试 C++程序的基本方法、基本步骤。