面向对象的程序设计语言C++复习指南

合集下载

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

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

《面向对象程序设计》总复习第一部分各章复习要点第1章C++一、基本知识1.面向对象程序设计的基本概念●类、对象、属性、方法2.面向对象程序设计的特点●封装、继承、多态二、基本技能1.VC++6.0编程环境的使用●编辑、编译、运行、查错●调试由多个文件组成的程序2.cin和cout的使用第2章数据类型与表达式1.数据的存储●基本类型:整型、实型、字符型、布尔型●构造类型:结构、联合、枚举2.数据的表示●常量、变量3.符号的表示●运算符、表达式第3章C++控制结构一、基本知识1.语句概述●控制语句●函数语句●表达式语句●空语句2.语句要点●格式、执行过程、注意事项二、基本技能1.递推法程序设计●前项推后项●外加循环控制2.穷举法程序设计●用循环列出所有情况●找出满足条件的情况第4章函数一、基本知识1.函数的概念●函数的声明●函数的定义●函数的调用2.函数●数据传递:主函数→子函数,子函数→主函数3.变量的存储类型●动态●静态●寄存器4.变量的作用域●全局变量●局部变量二、基本技能1.嵌套函数设计●并列定义嵌套调用2.递归函数设计●由未知推向已知的递推公式●格式:If 已知else 递推3.重载函数设计●相同:函数名●不同:函数类型、参数(个数或类型)4.函数技巧●内联函数、外联函数●带默认参数值的函数●引用第5章数组、指针与字符串一、基本知识1.数组的概念●一维数组●二维数组●字符数组2.指针●如何获取各种数据的指针●如何用指针表示各种数据●用指针处理数据的优势二、基本技能1.排序●选择法排序●冒泡法排序2.字符串处理●输入●处理:比较、赋值、连接●输出3.指针●指针的定义●指针的获取●用指针表示数据第6章类和对象一、基本知识1.类2.对象3.构造函数4.析构函数5.拷贝构造函数6.友元7.组合类二、基本技能1.构造类●数据●函数(构造函数、析构函数、拷贝构造函数)2.友元函数●定义与使用3.静态成员●定义与使用4.对象数组5.对象指针第7章继承与派生一、基本知识1.继承2.继承方式3.继承的分类4.继承的二义性5.虚基类6.虚函数与纯虚函数7.抽象类二、基本技能1.构造派生类●构造函数、析构函数、拷贝构造函数2.继承要点●子类的对象如何使用基类的成员●子类的成员如何使用基类的成员第8章多态性一、基本知识1.多态性2.运算符重载二、基本技能1.单目运算符重载●前置运算符重载●后置运算符重载2.双目运算符重载3.运算符重载为友元函数●解决重载的二义性第9章模板一、基本知识1.函数模板2.类模板二、基本技能1.函数模板●定义和使用2.类模板●定义和使用第10章输入输出流一、基本知识1.控制格式2.文件二、基本技能文件编程要点●定义文件对象●打开文件●读写数据●关闭文件第二部分复习要点(一)基本概念1.类(构造函数、析构函数、拷贝构造函数)和对象2.面向对象程序的特点3.重载函数4.友元函数5.虚基类6.虚函数、纯虚函数7.抽象类8.模板函数、模板类9.文件类(二)基本技能1.构造类2.构造派生类(单继承、多继承)3.构造抽象类4.定义重载函数5.定义友元函数6.定义运算符的重载7.定义模板函数8.文件对象的使用第三部分主要问题(一)基本概念1.面向对象程序设计的特点是什么?2.类有哪些成分组成?3.构造函数、析构函数和拷贝构造函数的作用?4.重载函数、友元函数的作用?5.类的继承方式有哪些?对子类的对象有何影响?6.虚基类的作用?7.虚函数、纯虚函数的作用?8.运算符重载的作用?9.模板函数、模板类的作用?10.抽象类的作用?(二)基本技能1.面向对象程序设计的技巧有哪些?2.面向对象程序实现软件复用的方法有哪些?3.面向对象程序设计的多态性体现在哪些方面?。

面向对象程序设计--复习大纲

面向对象程序设计--复习大纲

复习大纲第1部分面向对象的开发基础(1)掌握类与对象的基本概念,类和对象之间的关系。

(2)类与对象的特性,包括封装、继承和多态。

(3)掌握软件分层的思想,一般如何分层,各层的职责。

(4)了解C/S体系结构、B/S体系结构的组成及特点。

(5)Java的基本数据类型及其对应的包裹类。

(6)常用的Java包:ng,java.io,java.util,java.awt,java.swing,java.awt.event,java.sql等。

(7)String 和StringBuffer的区别。

(8)String 的length()方法与数组的length属性。

(9)实例变量与类变量的区别。

(10)实例方法与类方法的区别。

(11)构造方法的作用及其特点。

(12)了解两个对象同一及相等的概念。

(13)数组的应用,掌握常用的查找及排序算法。

第2部分基于UML的系统分析与设计(1)了解UML的产生和发展。

(2)了解Rose的基本使用。

(3)用例图、类图及顺序图的作用、组成元素及三者之间的关系。

(4)面向对象设计中水平分解及垂直分解的方法。

(5)将继承关系的类图映射为关系数据库的方法。

第3部分业务逻辑层开发(1)了解方法签名、方法重载、方法重写。

(2)异常的概念及Java的异常处理机制。

(3)运行时异常与一般异常有何异同?(4)构造方法是否可以继承?(5)对象塑性:自动类型转换及强制类型转换。

(6)多态性的实现方法。

(7)抽象类与抽象方法。

(8)终结类与终结方法。

(9)接口与抽象类的区别。

(10)了解Collection接口及其类层次。

(11)V ector及ArrayList的常用方法。

(12)Enumeration及Iterator类的使用及区别。

(13)了解面向接口编程的思想。

第4部分界面层与数据层开发(1)了解A WT及Swing类及其常用组件。

(2)掌握委托事件处理机制。

(3)扩充适配器类的优点是什么?(4)单例模式的实现方法。

C程序设计复习资料含复习资料

C程序设计复习资料含复习资料

C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。

了解不同数据类型的取值范围和存储方式是编程的基础。

例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。

2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。

在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。

3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。

掌握这些运算符的优先级和结合性,能够正确编写表达式。

例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。

4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。

(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。

(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。

二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。

例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。

2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。

通过指针可以间接访问变量的值,并且能够实现动态内存分配。

例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。

三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。

函数可以有返回值,也可以没有返回值。

C面向对象程序设计谭浩强版复习总结

C面向对象程序设计谭浩强版复习总结

C面向对象程序设计谭浩强版复习总结Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#第一章C++ 基础endl 换行并刷新输出流setw(n) 设置字段位数为nhex,oct,dec 十六进制,八进制,十进制表示setfill 定义填充字符setprecision 定义浮点数的精度left,right 左对齐,右对齐showpoint 强制显示小数点以及全部尾部0C++通过给常量命名的方式定义常量:const<数据类型名><常量名>=<表达式>用const定义的标识符常量时,一定要对其初始化。

在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。

函数声明的一般形式为函数类型函数名(参数表)函数模板的定义template<typename 或 class T>函数定义例子:template<typename T>T max(T a,T b){return(a>b)? a:b;}定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename 或class,用逗号分隔:template <class T1, class T2, class T3>例子:template<class T1, class T2>T1 max(T1 a,T2 b){return (a>b) ? a : (T1)b;}有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端引用定义对变量起另外一个名字 (别名alias),这个名字称为该变量的引用。

<类型> &<引用变量名> = <原变量名>;其中原变量名必须是一个已定义过的变量。

如:int max ;int &refmax=max;refmax并没有重新在内存中开辟单元,只是引用max的单元。

C程序设计语言复习提纲.doc

C程序设计语言复习提纲.doc

第一部分C程序设计语言复习提纲 1一. 数据的定义 1二. 运算及流程控制 3三. 程序结构和函数 4四.数据的输入和输出 5五.编译预处理 6六.面向对象程序设计初步 6第一部分C程序设计语言复习提纲一. 数据的定义(一)数据类型1. 基本类型基本类型指整型(int)、实型(float、double)和字符型(char)。

(1)常量①八进制整数:0123 十六进制整数:0x123 长整型常量:123L②实数的浮点表示法:123.0 实数的科学计数法:1.23e2③字符的转义序列:’\n’(换行)、’\065’(’A’)、’\x61’(’a’)④符号常量:#define PI 3.14 常用符号常量NULL(空值0)、EOF(文件结束符-1)(2)变量①变量的定义:int a;变量名a为一个符号地址,编译连接时对应一个内存地址,该地址代表的内存单元能够存放一个整数。

②变量的初始化:a=3;通过变量名a找到相应的内存地址,将数据3保存在此内存单元中。

2. 构造类型构造类型包括数组和结构。

(1)数组①一维数组的定义:int a[5]; 一维数组的初始化:int a[5];={1,2,3,4,5};②二维数组的定义和初始化:int b[2][3]={1,2,3,4,5};③数组元素的引用:a[0]=1; b[1][2]=0;④一维字符数组(字符串):char c[]=”abc”;(4个元素,c[3]=’\0’)⑤二维字符数组(字符串数组):char str[3][20]={“China”,”USA”,”Russia”};(2)结构①结构类型的定义:struct rectangle{float length;float width;};②结构变量的定义和初始化:struct rectangle rec1={20.0,10.0};③结构变量成员的引用:rec1.length=25.0;3. 指针(1)指针和地址的概念变量名 a p 指针变量变量值(内存单元内容)指针变量的值(地址)内存单元地址1000(2)指针变量的定义和初始化int a,*p; p=&a;(3)通过指针引用指向实体*p=10;4. 构造类型和指针类型的混和定义及应用(1)指针、数组和地址间的关系①一维数组int a[5]={1,2,3,4,5}; int *p=a; /* p=&a[0]; 首地址*/a[i]、*(p+i)、*(a+i)等价,&a[i]、p+I、a+i等价。

面向对象程序设计复习提要(不重要)

面向对象程序设计复习提要(不重要)
void display(int a); virtual void display();
char ID[10]; char Name[10] ……
student
char ID[10]; char Name[10] float score; …
void display()
{ person::display(); cout<<score<<endl;}
继承的一个作用就是 代码重用,即从基类 派生子类,子类无需 修改基类的代码,就 可以直接拥有基类的 成员,然后增加少量 代码就可以实现特殊 功能,这就实现了代 码的重用;另一个作 用是扩充系统,即许 派生类在继承父类共 性的基础上,增加新 的属性和操作来实现 特殊功能。
学生类 属性: 学号; 姓名; 专业; 操作: 查询属性get(); 修改属性modify(); 打印属性print();
二、复习要点
第2章 C++语言基础
1. C++程序的一般结构 一个C++程序一般可以分成四 个部分:预处理指令、全局说 明(包括对象类的定义)、程 序的主函数和用户自定义的子 函数,如右图所示。一个C++ 程序由一个或多个源代码文件 构成。C++的源代码文件分为 两类:头文件(.h)和源程序文 件(.cpp)。
4.2.1 派生类的定义
class <派生类名>: <继承方式> <基类名> { <派生类新定义成员> }; <继承方式>有三种: 公有继承(public); 私有继承(private); 保护继承(protected) ; 缺省情况下为私有继承。

C++面向对象程序设计——复习大纲

C++面向对象程序设计——复习大纲

复习大纲1、面向对象:是一种新的软件工程方法,新的设计范型(paradigm),其基本技术是使用对象、类、继承、封装、消息等基本概念进行程序设计和实现。

2、Peter Coad和Edward Yourdon提出用下列等式认识面向对象方法:面向对象=对象(object)+分类(classification)+继承(inheritance)+消息通信(communication with messages)3、使用标准名字空间std有3种方式:✓整体声明using namespace std;✓使用时单个对象临时声明std::cout<<"Hello C++"<<std::endl;✓单个对象使用前声明using std::cout;4、Const可以和指针一起使用,用法有如下三种:指向常量的指针是指(教材叫做:常指针page140):一个指向常量的指针变量,不允许改变指针所指的常量,但是由于指针是一个指向常量的普通指针变量,不是常指针,因此可以改变指针的值。

语法:const char * pc=”abcd”;常指针(教材上叫指针常量):把指针本身,而不是它指向的对象声明为常量。

语法:char * const pc=”ancd”;指向常量的常指针(教材上叫做常指针常量):这个指针本身不能改变,他所指的值也不能改变。

语法:const char* const pc=”abxd”; 或者char const *const 指针变量=变量名;5、Const说明:☐1、如果用const定义的是一个整型常量,关键字int可以省略☐2、常量一旦建立,在任何地方都不能再更改☐3、与define不同const定义的常量可以有自己的数据类型☐4、函数参数也可以用const说明,用于保证实参在该函数内部不被改动,大多数c++编辑器能对具有const参数的函数进行更好的代码优化。

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

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

第1章C++的初步知识1、cout必须与“<<”一起使用;cin要与“>>”配合使用。

2、用const定义常变量const 数据类型常量名= 值;3、函数调用在前定义在后,必须进行原型说明。

函数类型函数名(参数表);4、函数重载能实现编译时多态性重载函数必须具有不同的参数个数,或不同的参数类型。

5、函数模板template <typename T>通用函数的定义6、有默认参数的函数如果一个函数有n个默认参数,则其调用方式就有n+1种。

7、变量的引用int a; int &b = a; // b是变量a的“引用”,即a的别名当引用作为函数的参数、函数的返回类型或作为类的数据成员时,说明引用时不可初始化。

8、说明内联函数的关键字:inline9、动态分配/撤销内存的运算符new和deleteint * pn = new int (123); delete pnint * pnArr = new int [8]; delete [ ] pcArr;第2章类和对象1、面向对象程序设计语言应具有的要素:封装、继承、多态与抽象。

2、类是对象的抽象,对象是类的具体实例。

类是抽象的,不占内存。

对象是具体的,占有内存。

2、在C++中声明类的关键字是class。

在类中关键字private、protected和public分别表明成员为私有的、保护的和公有的。

在C++中,声明类也可以使用关键字struct。

3、在类体中定义的函数被自动当作内联成员函数。

说明成员函数为内联函数的关键字是inline。

4、对象成员的引用Student sO, * pO = &sO;Student & rs = sO;cout << sO.Number( ) << ( ) << pO->Address( );第3章关于类和对象的进一步讨论1、构造函数:不能有返回值,不能指定函数类型;可以带参数,可以重载,可以使用默认参数;构造函数名为“类名”;在构造对象时由系统自动调用。

《面向对象程序设计》复习资料

《面向对象程序设计》复习资料

《面向对象程序设计》课程期末复习资料《面向对象程序设计》课程讲稿章节目录:第一章、C++基础(16个知识点)01 计算机求解问题的过程02 编程的步骤03 程序设计方法04 程序设计基本概念05 C++程序集成开发环境简介06 C++程序实例07 C++源程序的组成08 C++源程序的组成元素09 C++与C的主要差异–符号常量和标准输入输出流10 C++与C的主要差异–内联函数11 C++与C的主要差异–带默认形参值的函数12 C++与C的主要差异–函数重载13 C++与C的主要差异–动态内存分配和释放14 C++与C的主要差异–动态内存分配和释放程序实例15 C++与C的主要差异–引用和返回引用的函数16 C++与C的主要差异–函数的引用调用第二章、面向对象方法(27个知识点)01 面向对象方法基本概念–对象、类、实例和消息02 面向对象方法基本概念–封装、继承和多态03 类的定义04 构造函数05 对象的定义和访问06 对象的定义和访问程序实例07 类成员的访问控制08 类成员的访问控制程序实例09 析构函数11 类声明和类实现的分离12 类的常量成员13 类的静态数据成员14 类的静态成员函数15 this指针16 类的友元17 类的对象成员–基本概念18 类的对象成员–对象成员的声明、初始化和访问19 自定义类的运算符重载概述20 类成员函数形式的运算符重载21 类友元形式的运算符重载22 赋值运算符和下标运算符重载程序实例23 类设计实例24 面向对象方法程序实例–类和对象的基本定义、构造函数和析构函数25 面向对象方法程序实例–静态成员和多文件结构26 面向对象方法程序实例–友元和运算符重载27 面向对象方法程序实例–对象成员第三章、继承与多态(17个知识点)01 继承概述02 派生类定义03 派生类构造函数和析构函数04 派生类构造函数和析构函数程序实例05 函数重定义和派生类的继承方式06 多重继承下的派生类定义07 多重继承中的二义性问题08 虚拟继承和虚基类09 类型兼容10 多态性的概念和实现原理11 虚函数13 纯虚函数和抽象类14 继承与多态程序实例–派生类定义和函数重定义15 继承与多态程序实例–多重继承16 继承与多态程序实例–虚拟继承和虚函数17 继承与多态程序实例–抽象类和纯虚函数第四章、输入输出流(16个知识点)01 输入输出流概述02 输入输出流对象03 输入输出流的插入和提取运算符04 输入输出流的插入和提取运算符程序实例05 输入输出流的put函数06 输入输出流的get函数07 输入输出流的getline函数08 输入输出流的write函数09 输入输出流的read函数10 输入输出流的write、read函数程序实例11 文件随机读写概述和相关函数12 文件随机读写程序实例13 自定义类型数据的标准输入输出和文本文件输入输出14 自定义类型数据的二进制文件输入输出15 输入输出流程序实例–输入输出流操作16 输入输出流程序实例–插入运算符和提取运算符重载第五章、模板(7个知识点)01 函数模板的定义和使用02 函数模板程序实例03 类模板的定义04 类模板的使用05 类模板的静态成员06 模板程序实例–函数模板07 模板程序实例–类模板一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1、面向对象方法的基本观点是一切系统都是由( C )构成的。

C 面向对象程序设计复习提纲

C  面向对象程序设计复习提纲
第一章 C++的初步知识 第二章 类和对象 第三章 关于类和对象的进一步讨论 第四章 运算符重载 第五章 继承与派生 第六章 多态性与虚函数 第七章 输入输出流
第一章 C++的初步知识
• • • • • 1.1 1.2 1.3 1.4 1.5 从C到C++ C++语言的词法和词法规则 最简单的C++程序 C++对C的扩充√ C++程序的编写和实现
5.5.1 简单的派生类的构造函数
• 何为简单派生类? 只有一个基类,只有一级派生; 派生类数据成员中不包含基类的对象(子对象)。 • 构造函数格式:
派生类名::派生类名(基类所需的形参,本类成员所
需的形参):基类名(基类参数表)
{ 本类成员初始化赋值语句; }; 说明:基类所需的形参,基类参数表 一一对应
3.1构造函数
• • • • • • 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 对象的初始化 确定对象的初始状态 构造函数的作用 带参数的构造函数 用参数初始化表初始化数据成员 构造函数的重载 使用默认参数的构造函数
3.1.2构造函数的作用
构造函数的作用: • 用于为对象分配空间和进行初始化。 构造函数的特点: • (1)构造函数的名字与它的类名必须相同; • (2)它没有类型,不返回值,为public类型; • (3)它可以带参数,也可以不带参数; • (4)不需要写调用语句,在系统建立对象 时由系统自觉调用执行。 • (5)如果用户没有定义构造函数,C++系 统会自动生成一个空的构造函数。
• 方法: 定义一个重载运算符函数,在需要时系统 自动调用该函数,完成相应的运算。 • 实质: 函数的重载。 • 运算符重载函数的格式: 函数类型 operator 运算符(形参表) { 重载处理 } 数据类型:是重载函数值的数据类型。 operator 是保留字

程序设计(C)复习大纲

程序设计(C)复习大纲

程序设计(C)复习大纲●第一部分初级篇(第1-3章)程序设计基础包括C语言概述、数据类型、运算符与表达式、基本控制结构●第二部分中级篇(第4-5章)数组和函数包括数组和函数的使用、模块化开发思想●第三部分高级篇(第6-8章)指针、结构体和文件●第四部分考试题型及举例说明:以标准C的内容为准(包括标准库函数)。

第一部分初级篇程序设计基础1.1 简单的C程序介绍例求两数a 和b的较大值。

main( ) / * 主函数* /{ int a, b, c;scanf ("%d,%d", &a, &b);c = max ( a, b );printf ("max = %d”, c);}int max (int x, int y ) / * 定义max 函数*/{ int z; /* max 函数的声明部分*/if (x>y) z = x;else z = y;return (z); }注意:C程序由1~n 个函数组成;函数=首部+ 函数体;函数体= 声明部分+执行部分;一个C程序总是从main ( ) 开始执行;“;”是语句的必要组成部分;注释/ * ….. * /1.2 C的数据类型基本类型:整型int , long, short,unsigned;实型float , double;字符型char;枚举型enum构造类型:数组类型结构体类型struct共用体类型union指针类型:int *p;空类型:void1.3 常量与变量1. 普通常量与符号常量●普通常量:在程序运行中,其值不能被改变的量。

( 整型—12,实型—5.4,字符型—'a',字符串常量—“pen” )●符号常量:用一个标识符代表一个常量,称为符号常量。

定义形式为: #define 符号常量常量#define PRICE 550 //#define 是宏定义//带参数的宏:#define M (a, b) (a)>(b) ? (a) : (b)m ain( ){ int i=10, j=15; printf(“%d\n”,10*M(i, j)); } //运行结果:102. 变量●变量:在程序运行中,其值可以改变的量。

C语言程序设计课程期末复习指南

C语言程序设计课程期末复习指南

样题1 样题1 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】求 1 - 1/2 + 1/3 - 1/4 + 1/5 -1/6+ … 的前20项之和。 程序说明】 的前20项之和。
► ► ► ► ► ► ► ► ► ► ► ► ► ► ► ►
运行示例: sum = 0.668771 【程序】 程序】 #include <stdio.h> int main() { double sum; int a=1,k=1; (1) ; do{ sum=sum+ (2) ; a+=1; (3) ; }while(a<=20); printf(" (4) ",sum); }
#include <stdio.h> void main( ) { int i, j, t, a[10]; printf("Enter 10 integers: "); for(i = 0; i < 10; i++) scanf( (5) ); for(i = 1; i < 10; i++) for( (6) ; (7) ; j++) if( (8) ){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } printf("After sorted: "); for(i = 0; i < 10; i++) printf("%d ", a[i]); printf("\ printf("\n");}
样题2:输入10个整数,将它们从大到小排序后输出。 样题2:输入10个整数,将它们从大到小排序后输出。 运行示例: Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34 After sorted: 100 99 87 34 6 5 4 1 0 -9

C++面向对象程序设计复习大纲(201212)

C++面向对象程序设计复习大纲(201212)

C++面向对象程序设计复习大纲(201212)C++面向对象程序设计复习大纲(复习时以课本和二级考试真题汇编为主)第一章OOP概述1. 理解并掌握面向对象程序设计的基本特征(抽象、封装、继承、多态)课后题P13:第2题、第8题、第9题第二章C++概述本章为上学期所学内容,重点掌握:1.函数的定义与调用2.函数的重载3.函数参数的三种传递方式(值传递、引用传递、指针传递)4.new和delete运算符课后题P44-47:第3 – 26 题第3章类和对象(复数类贯穿全书,要掌握)1.类的定义2.类的成员函数的几种定义方式3.类成员的访问权限4.对象的定义与使用5.this指针6.类的构造函数和析构函数7.类的缺省构造函数8.类的拷贝构造函数9.静态成员数据10.友元函数的定义与使用11.常引用12.常对象13.常成员函数14.string类的使用重点例题:例3.5、例3.6、例3.7、例3.9、例3.13、例3.19、例3.20、例3.21、例3.22、例3.23、例3.25、例3.26、例3.27、例3.29、例3.30、例3.33、例3.35、例3.37、例3.39、例3.42课后题P122:第1 – 31 题第4章派生类与继承1.派生类的定义2.基类成员在派生类中的访问属性3.派生类的构造函数和析构函数4.派生类构造函数和析构函数的执行顺序与构造规则5.在类的继承中,冲突及解决冲突的方法6.多重继承7.虚基类8.虚基类的初始化9.基类与派生类对象间的赋值兼容规则重点例题:例4.3、例4.5、例4.6、例4.7、例4.8、例4.10、例4.12、例4.13、例4.14、例4.16、例4.19课后题P188:第1 – 21 题第5章多态性1.运算符重载的两种方式2.前置++和后置++的重载3.赋值运算符的重载4.下标运算符的重载5.类型转换函数6.编译时的多态性(函数重载)与运行时的多态性(虚函数)7.虚函数重点例题:例5.2、例5.3、例5.5、例5.6、例5.8、例5.9、例5.13、例5.16、例5.21、例5.22、例5.23、例5.27、例5.28、例5.29、例5.30、课后题P255:第1 – 20 题第6章模板与异常处理1.函数模板的声明格式2.异常处理的3个语句(try catch throw)重点例题:例6.2、例6.3、例6.11、例6.12、例6.13、课后题P282:第5– 12 题第7章输入输出流1.几个预定义的流对象(cin cout cerr clog)2.输入输出流的成员函数(put get getline)3.重载插入运算符与提取运算符4.文件操作(打开、读写、关闭)重点例题:例7.1、例7.2、例7.8、例7.9、例7.10、例7.11、例7.12、例7.16、例7.17课后题P324:第11、12、14 题//…………………………………………………………Visual C++程序设计教程编著赵璐等课后题:204页第6题、第7题215页第4题、216页第6题、230页第5题、第6题250页第1-4题、第6-10题、第15-18题278页第10题。

面向对象程序设计技术考试的复习计划

面向对象程序设计技术考试的复习计划

面向对象程序设计技术考试的复习计划随着计算机技术的不断发展,面向对象程序设计技术在软件开发中扮演了重要的角色。

掌握面向对象程序设计技术不仅有助于提高软件开发的效率和质量,还有助于培养学生的逻辑思维和问题解决能力。

为了在面向对象程序设计技术考试中取得好成绩,制定一个合理有效的复习计划是非常重要的。

首先,了解考试大纲。

面向对象程序设计技术考试的内容涵盖了面向对象的基本概念、类和对象、继承与多态、接口与抽象类、异常处理、集合框架等知识点。

通过仔细阅读考试大纲,可以明确需要复习和掌握的知识点,从而有针对性地进行复习。

其次,系统学习教材。

选择一本权威的面向对象程序设计技术教材,系统地学习其中的理论知识和实践案例。

通过阅读教材,可以加深对面向对象程序设计技术的理解,掌握相关的概念和原则。

同时,还可以通过教材中的练习题和案例来巩固所学知识,并提高解决实际问题的能力。

第三,进行编程实践。

面向对象程序设计技术是一门实践性很强的学科,只有通过实践才能真正掌握其中的技巧和方法。

在复习过程中,可以选择一些经典的编程题目,通过编写代码来实践所学的知识。

同时,还可以参与一些开源项目或者进行一些小型的软件开发,通过实际的项目经验来提升自己的编程能力。

第四,参加在线课程或培训。

除了自学教材,还可以参加一些在线课程或培训班。

这些课程和培训班通常由经验丰富的专业人士授课,可以帮助学生更好地理解面向对象程序设计技术,并提供一些实践经验和案例分析。

通过参加在线课程或培训,可以与其他学习者进行交流和讨论,共同提高。

第五,进行模拟考试和复习总结。

在考试前,可以进行一些模拟考试,模拟真实考试的环境和时间限制,检验自己的复习成果。

通过模拟考试,可以发现自己的不足之处,并及时调整复习计划。

同时,在复习过程中,及时总结所学的知识点,整理出一份复习笔记,方便日后温习和回顾。

最后,保持积极的心态。

面向对象程序设计技术是一门较为复杂的学科,需要耐心和坚持。

南邮 面向对象程序设计及C++ 复习提纲(精品文档)_共3页

南邮 面向对象程序设计及C++ 复习提纲(精品文档)_共3页

《面向对象程序设计及C++》总复习第1章:面向对象程序设计及C++语言概述1、基本概念:(1)面向对象的三个主要特性(2)C++源程序的扩展名:.cpp;编译后的目标文件的扩展名:.obj;链接后的可执行文件的扩展名为:.exe;程序总是从main()函数开始运行。

第2章:C++语言对C语言的改进及扩展1、基本概念:(1)新的I/O流对象:cin、cout。

注意它们默认的输入、输出格式!(2)使用作用域运算符(::)能在局部变量作用域内访问同名全局变量。

(见p.36)(3)new和delete动态分配和释放内存(4)带默认参数值的函数(4)内联函数(inline)的概念(5)C++中的异常处理:try(检查异常)、throw(抛出异常)、catch(捕捉异常)。

2、知识重点:(1)const修饰符与指针区别下列定义:const char * name=”chen” //指向常量的指针char * const name=”chen” //常指针const char * const name=”chen” //指向常量的常指针(2)函数重载特征:函数名相同,函数参数类型或个数(参数列表)不同。

与函数返回类型无关。

练习:下列重载函数定义错误的是。

A. int print( int x);B. int disp(Myclass A);void print(float x); char * disp(Myclass A);C. int show( int x);D. int view(int x , int y);int show( char *s); int view( int x);(3)引用(变量的别名)重点:引用的定义引用、指针作为函数参数。

练习:#include <iostream.h>void s(int *a, int &b){ int *t=a;*a=b;b=*t;}void main(){ int x=500, y=1000;s(&x, y);cout<<x<<” “<<y<<endl; }该程序运行输出的第一行是:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14、在一个被调函数中,关于return语句使用的论述不正确的是( )
A) 被调函数中可以不使用return语句; B) 被调函数中可以使用多个return语句;
C) 被调函数中如果有返回值就一定要有return语句;
D)在被调函数中,一个return语句可以返回多个值;
15、下列关于函数的论述中,属于引用调用的是( )
35、已知f1(int)是类A的私有成员函数,p是指向成员函数f1的指针,采用( )是正确的。
A)p=f1; B)p=A::f1; C) p= p=A::f1( ); D)p=f1( )
36、下列对派生类的描述中,( )是错的。
A) 一个派生类可以作为另一个派生类的基类;
B 派生类至少有一个基类;
A)构造函数 B)析构函数 C)友元函数 D)拷贝构造函数
24、作用域运算符的功能是( )
A)表示作用域的级别 B)指出作用域的范围 C)给定作用域的大小 D)标识某个成员属于哪个类
25、不可以做为类成员的是( )
A)自身类对象的指针 B)自身类的对象 C)自身类对象的引用 D)另一个类的对象
C) 派生类的成员除了它自己的成员外,还包含了它的基类的成员;
D) 派生类中继承的基类成员的访问权限到派生类保持不变
37、派生类的对象对它的基类中( )是可以访问的。
A) 公有继承的公有成员;
B) 公有继承的私有成员;
C) 公有继承的保护成员;
D) 私有继承的公有成员
38、对基类和派生类的关系描述中,( )是错的。
20、指向对象的指针与对象都可以作为函数的参数,但是使用前者比后者好一些。
21、对象引用作函数参数比对象指针更方便。
22、在C++中,即允许但继承,又允许多继承。
23、派生类是从基类派生出来,而又不能再生成新的派生类
24、在公有继承中,基类的公有成员和私有成员在派生类中都是可见的
25、构造函数和可以被继承
A) 派生类是基类的具体化;
B) 派生类是基类的子集;
C) 派生类是基类定义的延续;
D) 派生类是基类的组合
39、派生类的构造函数的成员初始值表中,不能包含( )
A ) 基类的构造函数;
B) 派生类中子对象的初始化;
C) 基类的子对象初始化;
D) 派生类中一般数据成员的初始化
12、下列向函数中传送地址的标识中正确的是( )
A)int ADD(int *A); B) int ADD(int &A); C) int x=ADD(&A); D) int ADD(int A)
13、当一个函数无返回值时定义它时函数的类型应是( );
A) int B) voiD C)无 D) 任意
30、下述静态成员的特性中,( )是错误
A)说明静态数据成员时前面一定要加修饰符static;
B)静态数据成员一定要在类体外进行初始化;
C)引用静态数据成员时一定要在静态数据成员名前加类名和作用域运算符
D) 静态数据成员不是所有对象所共享的
31、友元的作用不是( )
A)提高程序的运行效率 B)加强类的封装性
C) 提高运行效率;
D) 减少目标代码
42、带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。
A)与虚基类下面的派生类个数有关;
B)多次;
C) 二次;
D) 一次
二、判断题正误
1、在C++中,定义函数是必须给出函数的类型
7、C++对C语言作了很多改进,下列描述中( )使得C语言发生了质的变化,即从面向过程变成了面向对象。
A)增加了一些新的操作符; B)允许函数重载,并允许设置默认值;
C)规定函数说明必须用原型; D)引进了类和对性;
8、关于执指针运算中错误的是( )
A)两个指针在一定的条件下进行相等和不等的运算;
28、通常拷贝初始化构造函数的参数是( )
A)某个对象名 B)某个对象的成员名 C)某个对象的引用名 D)某个对象的指针
29、关于成员函数的下属描述中,错误的是( )
A)成员函数一定是内联函数 B)成员函数可以重载
C)成员函数可以设置参数的默认值 D)成员函数可以使静态的
class test{
int num;
public:
test(int);
void show();
};
test::test(int n){ num=n;}
test::P(){cout<<num<<endl;}
8、在设置了参数默认值之后,在调用函数是使参就必须省略。
9、for循环中循环变量的作用域、是该循环的循环体内。
10、函数形参的作用域是该函数的函数体
11、调用系统函数时,首先要将说明函数原型的头文件包含进去
12、在使用关键字class说明的类中默认的访问权限是private的
13、作用域运算符只能用来限制成员函数所属的类。
40、关于子类型的描述中,( )是错的。
A)子类型就是指派生类是基类的子类型;
B)一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型; C) 在公有继承下,派生类是基类的子类型;
D) 子类型关系是不可逆的
41、设置虚基类的目的是( )。
A)简化程序;
B)消除二义性;
A) strlen( ) B) strCpy( ) C) strCAt( ) D) strCmp( )
22、在下列关键字中,用来说明列中共有成员的是( )
A)puBliC B) privAte C) proteCteD D) frienD
23、下列各种函数中,( )不是类的成员函数
B)pA是一个指向某数组中第五个元素的指针,该元素是int型变量;
C)pA[5] 表示某个数组的第五个元素;
D)pA是一个具有五个元素的指针数组,每个数组是一个int指针; m=10;
A)int &x=m; B)int &x=10; C) int &x; D) &x=&m;
{ ____ _ __; _______;}
test::test(text &t)
{num= ;
x= ;
}
2、一个类的头文件如下所示,程序,产生对象T,且T.num=10,并使用P()函数输出这个对象的值。(每空2分共4分)
19、在C++程序设计中,要求用函数来实现一种不太复杂的功能,并要求加快执行速度,选用( )合适
A)重载函数 B)内联函数 C)构造函数 D)析构函数
20、采用函数重载的目的在于( )
A)实现共享 B)减少空间 C)提高速度 D)使用方便,提高可读性
21、将两个字符串连接起来组成一个字符串时选用( )函数
A)对象就是结构变量 B)对象代表着正在创建的系统中的一个实体
C)对象是一个状态和操作的封装体 C)对象之间的信息的传递时通过消息进行的
6、下面关于类概念的论述错误的是( )
A)类是由抽象数据类型实现的; B)类是具有共同行为的若干对象的统一描述;
C)类是创建对象的样板; D)类是C语言中的结构类型;
33、关于标识符&在C++中的作用的论述不正确的是
A)取地址运算符; B)引用运算符 C)按位与运算符 D)逻辑与运算符
34、已知一个类A,( )是指向类A成员的指针。假设类有如下共有成员
voiD f1(int), voiD f2(int)和int A
A) A* p; B) int A::*pC=& A::A; C)voiD A::*pA( ) D) A *pp;
17、在C++中下列关于设置参数默认值的论述中,( )是正确的。
A)不允许设置参数的默认值; B)设置参数默认值只能在定义函数是设置;
C)设置参数默认值时应从右向左进行设置 D) 设置默认值时,应该全部参数都设
18、重载函数在调用时选择的依据中,( )是错误的
A)参数的个数 B)参数的类型 C)参数的顺序 D)函数的类型
26、下列不属于构造函数的特征的是( )
A)构造函数的函数名和类名相同 B)构造函数可以重载
C)构造函数可以设置默认参数值 D)构造函数必须指定类型说明
27、下列具有析构函数特征的是( )
A)一个类中只能定义一个析构函数 B)析构函数名与类名不同
C)析构函数的定义只能在类体内 D)析构函数可以有一个或多个参数
14、析构函数是一种函数体为空的成员函数。
15、构造函数和析构函数都不能重载
16、说明和定义对象时,类名前不需要加关键字class
17、对象成员的表示和结构体成员的表示一样需要使用元算符.或->
18、私有成员是指类中所有的成员函数才可以使用,而类之外的函数对他们访问非法的成员。
19、对静态成员进行初始化可以在类的构造函数中进行。
2、在C++中,说明函数是要用函数原型,即定函数时的函数头部分
3、在C++中,所有函数在调用前都要说明
4、如果一个函数没有返回值,在定义是需要用void说明。
5、在C++中,传址调用将被引用调用所替代。
6、使用内联函数是以增大空间开销为代价的
7、返回值类型、参数个数和类型都相同的函数也可以重载。
C)实现数据的隐藏性 D)增加成员函数的种类
相关文档
最新文档