天津理工大学C++期末考试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
一、明确的概念:
(1)理解类和对象的概念;(具体见附一)
类是抽象的对象是具体的例如:你、我、他都是人那么你、我、他就是对象人就是类
(2)掌握类与对象的定义方法;
类的定义:
class 类名{ … /*定义这个类*/}; 员名或成员函数
不能通过外部直接访问(不声明访问属性时系统默认为私有)当出现对象名.成员(私有)时编译器报错
与private类似但protected属性的成员可以继承 private不能继承
(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;
构造函数:为数据成员开辟存储空间
函数名必须与类名相同之前绝对不许说明返回值类型 void也不行
构造函数是随着对象的声明而调用的
例如:class
Student{Student(){cout<<”Hello.”< Int main(void) {cout<<”Hello.”< Student A; } 运行结果:Hello. < int getx(){return x;} int gety(){return y;} private: int x, y; }; Coordinate::Coordinate(Coordinate &p){< int main(){ Coordinate p3=p2; cout<<"p3=("<<()<<","<<()<<")"< } (1) 记录程序的运行结果 (2) 将Coordinate 类中带有两个参数的构造函数进行修改,在函数体内增加如下语句: cout<<”Constructor is called.”< 重新记录程序的运行结果,并解释输出结果。 (3) 按下列要求进行测试。 在主函数体内,添加如下语句: Coordinate p4; 错误原因:构造函数没有参数 构造函数为 Coordinate::Coordinate(int ,int) Coordinate p5(2); 错误原因:参数数量不对 1. 根据注释语句的提示实现类Date 的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。 #include <> class Date{ public: void printDate(); 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试 该类设计的正确性。 #include using namespace std; 分析: 1.题目中 Date 类的数据成员为day, month, year 且均为整型访问属性为私有 主函数中声明了testDay 对象 2.数据成员均为私有 则不能通过=<数值> 的方法来设置 题目中给出了 void setDay(int) void setMonth(int) 和void class counter { public: counter(int number=0) 定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y; (2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别; (3)设计2个成员函数用来读取数据成员x和y; (4)设计2个成员函数用来设置数据成员x和y; (5)设计1个成员函数用来在屏幕上打印输出数据成员x和y; (6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。 class ClsName { public: int a,b; ClsName(int a,int b){cout<<"Construct by two numbers."< < 因为x,y 的访问属性为私有,不能由主函数直接访问 所以会设置读取函数专门负责返回相应的值 int gety(){return y;} void setx(){cout<<"Change X:";cin>>x;} void sety(){cout<<"Change Y:";cin>>y;} void print(){cout<<"X="< int x,y; (1)中要求的两个整型数据成员 }; int main() { int a,b; cout<<"Test1:Input with 2 numbers, now please input two numbers:"< 重载:函数名相同,参数的类型 不同或者个数不同、或者都不 同。 即根据带入参数的类型、 数量的不同,来实现不同的功能 (); ();(); (); cout<<"\nTest2:Input with a numbers, now please input a number:"; cin>>a; ClsName t2(a); (); ();(); (); cout<<"\nTest3:Without numbers"; ClsName t3; (); ();(); (); return 0;