天津理工大学C++期末考试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
一、 明确的概念:
(1)理解类和对象的概念;(具体见附一)
类是抽象的 对象是具体的 例如:你、我、他 都是人 那么 你、我、他就是对象 人就是类
(2)掌握类与对象的定义方法;
类的定义:
class 类名{ … /*定义这个类*/}; //(别忘了最后的分号)
对象的定义: 类名 对象名(参数);
(3)理解类的成员的访问控制的含义,公有和私有成员的区别;
public://访问属性为公有 通过外部直接访问 即:对象名.成员名或成员函数 private://访问属性为私有 不能通过外部直接访问(不声明访问属性时 系统默认为私有) 当出现对象名.成员(私有)时 编译器报错
protected://访问属性为保护 与private 类似 但protected 属性的成员可以继承 private 不能继承
(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;
构造函数:为数据成员开辟存储空间 函数名必须与类名相同 之前绝对不许说明返回值类型 void 也不行 构造函数不能由用户调用 即:对象名.构造函数名(参数)是错误的 构造函数是随着对象的声明而调用的 例如: class Student{Student(){cout<<”Hello.”< Int main(void) {cout<<”Hello.”< 运行结果: Hello. //<-这个Hello 是主函数中的 Hello. //<-是声明A 对象时调用的构造函数 构造函数中的Hello 析构函数功能与构造函数相反 注意调用时间和顺序(看书) 二、 练 习项目 1. 输入下列程序,按要求进行实验,并记录实验的结果。 #include class Coordinate { public: Coordinate(int x1, int y1){x=x1; y=y1;} Coordinate(Coordinate &p); private: }; } } (1) (2) 重新记录程序的运行结果,并解释输出结果。 (3) 按下列要求进行测试。 在主函数体,添加如下语句: Coordinate p4; ←错误原因:构造函数没有参数 构造函数为Coordinate::Coordinate(int ,int) Coordinate p5(2); ← 错误原因:参数数量不对 2. 根据注释语句的提示实现类Date 的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。 #include 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(); }; void Date::setDay(int d){day=d;} void Date::setMonth(int m){month=m;} void Date::setYear(int y){year=y;} void Date::printDate(){cout< 3. 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试 该类设计的正确性。 #include using namespace std; class counter { public: counter(int number=0) //构造函数 { value=number; } void increment(); //给value原值加1 void decrement(); //给value原值减1 int getvalue(); //取得计数器值 int print(); //显示计数 private: int value; //数据成员 }; void counter::increment(){value++;cout<<"The counter has increased by 1"< int counter::getvalue(){return value;} int counter::print(){cout<<"\nDisplay:"< int main(){ cout<<"Please input origin number:"; //定义counter类的几个对象并调用有关成员函数 int a; cin>>a; counter c(a); //输入a 并将a作为参数通过构造函数为对象中的value赋值