龙空技术网

面向对象程序设计复习要点

答案鬼 347

前言:

目前我们对“c面向对象程序设计第三版答案杜茂康”大体比较关注,你们都需要了解一些“c面向对象程序设计第三版答案杜茂康”的相关资讯。那么小编也在网摘上网罗了一些对于“c面向对象程序设计第三版答案杜茂康””的相关知识,希望同学们能喜欢,各位老铁们快快来学习一下吧!

《面向对象程序设计及C++》复习要点

第一章

1、面向对象的三大特征:封装、继承、多态

2、类和对象的基本概念及二者的相互关系

3、C++程序开发的完整过程:编辑、编译、链接、运行

第二章

1、C++输入输出的控制方式,需要包含的头文件, cin cout的使用

2、const定义符号常量的方法和相比于宏定义的优势

3、const与指针变量的三种结合方式,深刻理解表2.1的内容,课后习题选择题5,无论const与指针怎么结合,用cout<< 进行访问一定是不会错的,因为不涉及到对任何内容的修改。

4、了解名字空间的定义及使用

5、::扩大全局变量的可见范围,全局变量真正全局化,理解教材例2.6中各个sum的区别,主教材课后习题读程的第3题

6、定义函数时形式参数带有默认值的方式:从右到左依次;实参给定的顺序:从左到右依次。调用时参数使用原则:如果有对应实参,则用实参所传的值,如果没有提供对应实参,则使用形式参数自带的默认值。理解教材例2.7,课后习题选择的第2题

7、内联函数的定义,在首部或原型声明前面加关键字inline,内联函数的特点:功能简单、无循环结构

8、函数重载:要求,形式参数表内必须有区别,函数名一定相同,函数返回值类型不作为区分标准,理解例2.9、表2.2,课后习题 选择第3题;读程题第4题

重载函数被调用时,首先是严格匹配参数,包括参数的个数和对应参数的类型。实参的类型与形式参数类型完全一致时优先匹配,实在找不到类型完全一致的才会启动类型自动转换机制。

9、引用的概念,引用与其代表的变量是一回事儿,占用同一段内存空间。引用最有意义的用法是作为形式参数使用,例2.11需要深刻理解,形式参数两个都是引用,如果将其中一个设为引用参数,另一个设为值形式参数,会有怎样的运行效果? 引用前面加const的意义和用法,理解例2.12。引用作为返回值也是一个新的知识点,后面在运算符重载中的输入流输出流运算符重载中用得到,理解例2.13,课后习题读程第5、6题

10、C++中利用指针进行动态内存空间管理的方法,掌握申请单个空间、申请单个空间并同时初始化、申请数组空间的正确方式,以及对应的释放空间的方法。课后习题选择题4

11、了解try catch throw机制的异常处理方式 课后习题填空第2题

第三章

1、类的定义,类中成员的访问属性以及默认的私有属性,类中的成员函数在类体内和类体外定义的不同方式,尤其注意类体外定义的时候成员函数名前要加上类名::

2、对象的定义,定义对象时对象名之后是否需要实际参数取决于类定义时有没有需要提供参数的构造函数,如何通过对象名.公有成员函数名(实参表);的形式调用公有成员函数实现程序的功能

3、类中构造函数的定义、构造函数的特点(无返回值、函数名与类名同、可重载、定义对象时自动调用、不定义时系统提供默认构造函数)课后习题读程题第3题,例3.11,3.12,3.15

4、拷贝构造函数的定义及基本方法,核心是,拷贝构造函数定义时其形式参数是本类的对象引用,一般是常引用,理解深拷贝与浅拷贝,系统默认会提供一个浅拷贝的拷贝构造函数;该函数被调用的三种情况:用一个对象初始化另一个同类对象时、作为实参传递给值形式参数时、返回值为类对象时

5、析构函数的定义、析构函数的特点(无返回值,函数名为~类名、唯一无重载、无形式参数、对象生命期结束时被自动调用、不定义时系统提供默认析构函数)

6、this指针,存在于类的普通成员函数(非静态成员函数),this是指向当前对象的指针,成员函数中访问数据成员时,数据成员全称是:this->数据成员,成员函数中用*this表示当前对象,这在运算符重载时有时能用到

7、对象数组(其初始化的方法)、对象指针、对象引用的定义及使用,以及对象、对象指针、对象引用作为形式参数时的用法,教材例3.15

8、友元函数的声明、定义及使用,教材3.5.1的内容重点理解

9、课后习题重点:单选题的3-7、读程题所有、编程题1(重点是定义类,定义对象,可以将对象数组的要求改成定义对象简化)

10、实验一-1

第四章

1、了解静态数据成员的声明及初始化,对应的静态函数的意义,课后习题读程第1、2题

2、常数据成员的定义及初始化方法,参考例4.4

3、常成员函数是指该函数中只访问数据成员而不改变数据成员,常对象只能调用常成员函数、常成员函数也可以被普通对象调用(不存在同名的普通成员函数时)

3、常对象的定义,常对象只能调用常成员函数。理解教材例4.5、课后习题读程第3题

第五章(5.3节)

1、类的继承与派生的概念,基类(父类)与派生类(子类),根据派生类拥有的基类的数量,分为单继承(只有一个基类)和多重继承(有多个基类)

2、类的组合,在一个类中包含了其他类的对象,当对象成员的构造函数需要参数时,通过构造函数的初始化列表来传递,教材例5.2

2、类的继承关系下,基类的成员在派生类中呈现的属性,就是三行三列的那张表格(我板书补充的):private、protected、public的三行三列表,基类的private成员无论何种方式继承到了派生类中都不能被派生类的函数直接访问;基类的public成员经过public继承之后在派生类中仍然为public属性,这样的成员才能被派生类对象用点运算符的方式直接访问,其余来自基类的成员只能在派生类内部被派生类的成员函数所访问。

3、定义派生类对象时,构造函数的调用顺序:先基类构造函数、再派生类构造函数;析构函数的调用顺序正好相反。课后习题读程第1、2题。

4、当基类有构造函数并且需要提供参数时,派生类必须提供构造函数并且负责基类构造函数的调用,教材例5.7、例5.8

5、同名冲突及解决方案,当多层次多重继承时定义虚函数解决冲突,教材例5.12,教材P147页下方关于这种情况下最下层的类定义对象时构造函数的调用顺序的描述需要掌握教材后习题的读程第5题。

6、赋值兼容的四种情况,总原则:赋值号左边是基类的对象(指针、引用),右边可以是公有派生类的对象(指针),反之不然,理解教材例5.13

7、耐心阅读教材中例5.14,从本例中学会如何根据继承关系,定义上下层的类。然后可以抽取其中的Student类(作为一级基类)和Graduate(作为派生类)这两个类,定义构造、析构函数,定义相应的成员函数,在派生类中如何增加数据或成员函数,如何正确定义构造函数(要负责基类构造函数的调用),如何定义对象并访问。

第六章

1、两种多态性的概念及对应的实现手段:静态多态性(函数重载和运算符重载)、动态多态性(公有继承、虚函数、基类的指针或引用)

2、运算符重载,熟记哪五种运算符不可以被重载,运算符重载需要满足的原则

3、用成员函数重载和友元函数重载的不同方法,注意参数上的区别。重点例子:友元重载:例6.4;成员函数重载:例6.3;

4、输入/输出流重载,只能以友元函数形式重载,因为这两种运算符的第一运算对象是流对象,而不是本类的类对象。并且返回值类型都是引用,即:ostream & 和 istream &,教材例6.7和例8.6(可以将此例的思想用于complex类的重载,仿照写complex类的输入/输出流重载)。

4、虚函数的定义,要求基类和公有派生类中函数前有virtual,且函数原型是完全一样的,这样才可能实现动态多态性,动态多态性需要借助于基类指针或引用实现。

5、关于虚函数的选用有一些特殊要求,例如:静态成员函数、内联函数、构造函数均不能声明为虚函数,但是析构函数可以是虚函数并且建议声明为虚函数;虚函数本身是类的成员函数之一,而不是一个友元函数(友元函数不属于任何类,是普通的函数)

6、纯虚函数和抽象类,当一个类中有一个纯虚函数时该类为抽象类。纯虚函数的声明方法需要掌握,最前面有virtual,最后面有=0; 抽象类不可以定义对象,但是可以定义指针和引用,以实现动态多态性。教材例6.13需要熟练掌握和理解。

第七章(7.2)

1、函数模板的定义及调用,注意未知类型需要在template中说明,调用时自动以实参的类型特化未知类型从而得到模板函数进行调用,理解教材例7.1,主教材习题单选第1、2、3题、读程第1题

第八章(8.3)

1、C++中文件的分类

2、文件操作的步骤,文件打开的两种方法,借助于open成员函数或者直接定义流对象指定文件及打开方式,ios::in方式用于读文件,即将文件的内容读到内存中; ios::out用于写文件,即将内存的内容写到磁盘文件中

3、掌握用运算符>>和<<对文件操作的方法,例8.7

3、熟练掌握get、put函数的用法,必须掌握例8.8,并在此基础上根据要求会作出一定的变换

标签: #c面向对象程序设计第三版答案杜茂康 #c面向对象程序设计第三版杜茂康答案 #c面向对象程序设计杜茂康第三版答案 #面向对象程序设计期末考试知识点总结