C++第三版清华知识点复习8
第8章类和对象 8.1面向对象程序设计方法概述 8.1.1什么是面向对象的程序设计 1. 对象 2. 封装与信息隐蔽 3. 抽象 4. 继承与重用 5. 多态性 8.1.2面向对象程序设计的特点 图8.3 8.1.3类和对象的作用 8.1.4面向对象的软件开发 1. 面向对象分析object oriented analysis,OOA 2. 面向对象设计object oriented design,OOD 3. 面向对象编程object oriented programming,OOP 4. 面向对象测试object oriented test,OOT 面向对象维护object oriented soft maintenance,OOSM 8.2类的声明和对象的定义 8.2.1类和对象的关系 8.2.2声明类类型 8.2.3定义对象的方法 1. 先声明类类型,然后再定义对象 2. 在声明类类型的同时定义对象 3. 不出现类名,直接定义对象 8.2.4类和结构体类型的异同 8.3类的成员函数 8.3.1成员函数的性质 8.3.2在类外定义成员函数 8.3.3 inline成员函数 8.3.4成员函数的存储方式 图8.4 对象2 对象10 |数据io| 公用函数代码 图8.5 8.4对象成员的引用 8.4.1通过对象名和成员运算符访问对象中的成员 8.4.2通过指向对象的指针访问对象中的成员 8.4.3通过对象的引用来访问对象中的成员 8.5类和对象的简单应用举例 8.6类的封装性和信息隐蔽 8.6.1公用接口与私有实现的分离 8.6.2类声明和成员函数定义的分离 主模块main.cpp inc1ude iostream include student.h int main 成员函数定义文件student.cpp include iostream includc student.h” void Student display main.obj student.obj I 二 main. 图8.6 8.6.3面向对象程序设计中的几个名词 习题 1. 清检查下面程序,找出其中的错误先不要上机,在纸面上作人工检查,并改正 之。然后上机调试,使之能正常运行。运行时从健盘输入时、分、秒的值,检查输出是否 正确。 include iostream using namespace std; class Time { void set_timevoid; void show_timevoid; int hour; int minute j int sec; Time t; int main set_time ; show_time; } int set_timevoid { cinAt・ hour; cint. minute; cin-t.sec5 } int show_timevoid { coutt. hour\Kt・ minutet3Ct. secendl; } 2. 改写本章例8.1程序,要求 1 将数据成员改为私有的; 2 将输入和输出的功能改为由成员函数实现; 3 在类体内定义成员函数。 在第2题的基础上进行如下修改在类体内声明成员函数,而在类外定义成员 函数。 3. 在本章第8.3.3节中分别给出了包含类定义的头文件student, h,包含成员函数 定义的源文件student.cpp以及包含主南数的源文件main.cpp.清完警该程序,在类中 增加一个对数据成员赋初值的成员函数set_value.上机调试并运行. 4. 将本章的例8.4改写为一个多文件的程序 (1)将类定义放在头文件arraymax.h中; (2)将成员函数定义放在源文件arraymax.cpp中; (3)主函数放在源文件filel.cpp中. 请写出完整的程序,上机调试并运行. 5. 而要求3个长方柱的体积,暗编一个基于对象的程序.数据成员包括length (长)、width(宽)、height(高)。要求用成员陟数实现以下功能 (1)山健盘分别输入3个长方柱的长、宽、商; (2)计算长方柱的体积; (3)输出3个长方柱的体积。 清编程序,上机调试并运行.