第 1 章 面象程序设计概
名词解释
抽象封装消息
问题解答
面象方法中抽象指具体问题 (象) 进行概括 抽出类象
公性质加描述程
面象方法中封装抽象出象属性行结合成独
立单位隐蔽象部细节
消息面象程序设计描述象间通信机制 消息
象求象实施某种操作请求
二 填空题
(1) 目前面程结构化程序设计方法面象程序设计方法两种重
程序设计方法
(2) 结构化程序设计方法中模块序选择循环 3 种基结构组成
(3) 结构化程序设计方法中程序表示程序 数结构 +算法 面
象程序设计方法程序表示程序 象+消息
(4) 结构化程序设计方法中基模块程 面象程序设计方法中
基模块类
(5) 面象程序设计方法具抽象性封装性继承性态性等特点
三 选择题(少选选)
(1) 面象程序设计着重( B )设计
A 象 B 类 C 算法 D 数
(2) 面象程序设计中 象属性行组织模块机制
做( C )
A 抽象 B 继承 C 封装 D 态
(3) 面象程序设计中类通( D )外界发生关系
A 象 B 类 C 消息 D 接口
(4) 面象程序设计中象象间通信机制( C )
A 象 B 类 C 消息 D 接口
(5) 关 C++ C语言关系描述中( D )错误
A C 语言 C++子集 B C 语言 C++兼容
C C++ C语言进行改进 D C++ C语言面象
结果分析
C语言面程 C++语言种改进更优化 C语言种混
合型语言面程面象
(6) 面象程序设计数结构( A )放起作相互
存分割整体处理
A 算法 B 信息 C 数隐藏 D 数抽象
(7) 面( A )面象系统包含素
A 重载 B 象 C 类 D 继承结果分析
面象 象 +类+继承 +消息+态
(8) 面说法正确( BC )
A 数结构算法置函数数封装
B 类通继承获类特性
C 面象求程序员集中事物质特征抽象观点程序
D 消息象接受时产生行样称致性
结果分析
面象程序设计方法具抽象性 封装性 继承性态性等特点 数结
构算法置类 数封装 消息象接受时 产生
行样称态性
(9) 面说法正确( AD )
A 象计算机存中块区域存放代码数
B 象实际功相独立段程序
C 象间数享象优点
D 面象程序中象间通消息相互通信
结果分析
象计算机存中块区域象中存数存代码
象功相互间保持相独立 象间存种联系
间通消息进行通信
四 判断题
(1) 高级程序设计语言中 般类实现象 类具相属性行
组象集合创建象模板( √ )
(2) C++语言支持面象技术抽象性封装性继承性等特性支
持态性( × )
结果分析
C++语言仅支持面象技术抽象性封装性继承性等特性支持
态性
(3) 面象程序设计中消息应该包含做信息( × )
结果分析
消息面象程序设计描述象间通信机制 象发送消息
需告诉象做什象根消息决定做
(4) 消息产生特定响应效果( × )
结果分析
象发出消息时 接收象类型 做出
反应样消息产生响应效果种现象做态
(5) 类设计类继承机制实现软件模块重性( √ )
(6) C++语言 Java 语言均纯正面象程序设计语言
( × )
结果分析
Java 语言纯正面象程序设计语言
(7) 学 C++语言学面象程序设计方法唯途径( × )
结果分析程序设计方法独立具体程序设计语言种技术 学 C++语言学面
象程序设计方法重途径
(8) C++语言中类支持数封装工具( √ )
五 简答题
(1)什结构化程序设计方法?优点缺点?
问题解答
结构化程序设计方法着眼系统实现功 系统输入输出出发 分
析系统做事情 进考虑做事情 顶系统功进行
分解建立系统功结构相应程序模块结构 效较复杂程
序系统设计务分解成许易控制处理子务便开发维护
着程序规模复杂性增长 种面程结构化程序设计方法存明
显足处 首先数安全性问题 数模块
安全旦出错难查明原次维护性重性差数结
构算法分离相互独立实体 旦数结构需改变时 常常涉整程
序修改工作量极容易产生新错误 种相老问题新方法带
额外开销外图形户界面应程序难程描述实现开
发维护困难
(2) 什面象程序设计方法?优点?
问题解答
面象程序设计方法中 程序设计组相互协作象组
相互协作函数程序中属性数表示描述象静态特征 行
程序代码实现 描述象动态特征 见面象程序设计方法中
象数结构算法封装体 象间存种联系 间通消息进
行通信程序表示:
程序 象 +消息
面象程序设计中应着重类设计 类正面象语言基程序
模块通类设计完成实体建模务 类通简单外部接口外界
发生关系 类中操作会处理类中数 样程序模块独立
性数安全性良保障 程序执行取决事件发生序
序产生消息驱动程序执行 必预先确定消息产生序 更符合客观世
界实际 面象程序设计方法提供软件重 解决问题复杂问题
效途径具抽象性封装性继承性态性等特点
(3)结构化程序设计方法面象程序设计方法数结构算法关系
什?
问题解答
结构化程序设计方法中数结构算法分离相互独立实体
面象程序设计中 数结构算法封装起 结合成独立单位
象隐蔽象部细节 象私属性象行
读取修改外部联系通公行充外部接口第 2 章 C C++
名词解释
引联函数重载函数
问题解答
谓引象取名 该名存取该象 换句话说
新象原象址
联函数 inline 关键字声明函数
重载函数指作域名字相参数函数 重载函数通常
具相似行数类型数数操作提供—通名称
二 填空题
(1) 般情况 C++语言编写程序函数加类组成
(2) C++ 两种注释符号种 种 **
(3) C++风格输入输出程序中必须包含头文件 iostream
(4) cin 预定义标准输入流象 >>输入操作符称提取运算符
(5) cout 预定义标准输出流象 <<输出操作符称插入运算符
(6) 指针值指象址值指针类型指象
类型指针容便指象值
(7) C++ 运算符 &定义引引存取引象
存取
(8) 函数调出现函数定义前时 必须先函数原型函数进行声
明
(9) C++ 值传递引传递两种参数传递机制
(10) 关键字 inline 声明函数称联函数
(11) 运算符 new进行动态存分配 运算符 delete 释放动态分配
存
(12) 面程序输出结果:
x10y10
x100y100
#include
using namespace std
int main ()
{
int x10 &yx
cout<
*p100
cout<
}
三 选择题(少选选)
(1) 整型指针变量 p2p3 定义中错误( A )
A int p1 *p2p3 B int*p2 p1*p3 C int p1 *p2&p1*p3 D int*p2 p1*p3&p1
结果分析
指针定义具体格式示:
<类型 > *< 指针名 1>*<指针名 2>
(2) 定义 double xx314 *pp&xx *pp 等价( D )
A &xx B *xx C 314 D xx
结果分析
pp 指 xx 存单元样 *pp xx 等价
(3) 面引描述中( C )错误
A 引某变量象名
B 建立引时初始化
C 引初始化意类型变量
D 引代表象具相址
结果分析
谓引象取名 该名存取该象 引初始
化必须类型变量
(4) 函数没返回值时候应该选择( A )函数类型
A void B int C 确定 D float
(5) 函数定义格式中面组成部分中( D )省略
A 函数名 B 函数体 C 返回值类型 D 函数参数
结果分析
函数定义缺省形式参数时称参函数
(6) 重载函数说面叙述正确( D )
A 参数类型
B 参数序
C 参数数
D 参数数类型序相函数返回值类型
结果分析
重载函数说 编译系统根函数参数类型数判断函
数重载函数参数数类型序相
(7) 列关设置函数参数默认值描述中( D )正确
A 设置函数参数默认值序没规定
B 函数具参数时设置默认值
C 默认参数设置函数原型中设置函数定义语句中
D 设置默认参数表达式表达式中局部变量
结果分析
C++中函数原型中参数指定默认值函数参数设置默
认值注意点
◆没声明函数原型 参数默认值函数定义头部进行设置 否必须
函数原型中进行设置
◆指定默认值参数右边出现没指定默认值参数
◆设置默认参数表达式表达式中局部变量
(8) 面说法正确( C )
A 函数说明联函数B 具循环语句 switch 语句函数说明联函数
C 联函数加快程序执行速度会增加程序代码
D 联函数减程序代码程序执行速度减慢
结果分析
联函数解决程序运行效率问题 程序编译时 编译系统程序
中出现联函数调方函数体进行换 进减少程序运行时间
会增加程序代码 空间换取时间 联函数适功太复
杂求频繁调函数
(9) 函数功太复杂求频繁调应选( A )
A 联函数 B 重载函数 C 递函数 D 嵌套函数
(10) C++ C语言做改进列描述中 C语言发生质变
面程变成面象( D )
A 增加新运算符
B 允许函数重载允许设置默认参数
C 规定函数说明必须原型
D 引进类象概念
结果分析
面象 象 +类+继承 +消息+态
四 判断题
(1) C++程序中没定义说明变量( √ )
(2) const 说明常量时必指出类型( × )
结果分析
果 const 定义整型常量类型说明符 int 省略
(3) 引创建时意变量进行初始化( × )
结果分析
引初始化必须类型变量
(4) 返回引调函数作左值( √ )
(5) 函数没参数没返回值( √ )
(6) 没参数两函数重载( √ )
(7)函数设置默认参数 允许函数参数设置默认参数
( × )
结果分析
函数设置默认参数允许函数参数设置默认参数
(8) 运算符 new分配空间运算符 delete 释放( √ )
五 简答题
(1) 名字空间途什?
问题解答
名字空间防止命名突
(2) 引处?
问题解答
独立引外 C++程序中引途作函数参数函数返回
值
(3) 较值调引调相点点
问题解答值调机制中 作实参表达式值复制应形参名标识
象中作形参初始值 函数体形参访问 修改标识象
操作实参关数传递单
引作函数形参时 调函数实参变量名 实参传递形参 相
调函数中实参名 调函数中形参操作实质
实参直接操作数传递双
(4) 联函数什作?特点?
问题解答
联函数 inline 关键字声明函数程序编译时编译系统程
序中出现联函数调方函数体进行换进减少程序运行时间
联函数应注意点
◆递函数定义联函数
◆联函数般适合含 switch while 等复杂结构 1~5 条
语句函数否编译系统该函数视普通函数
◆联函数先定义否编译系统该函数视普通函数
◆联函数进行异常接口声明
(5) 函数原型中参数名函数定义中参数名函数调中参数名必须
致?
问题解答
必致参数根位置类型名字区分
(6) 重载函数时通什区分?
问题解答
编译系统根函数参数类型数判断函数
六 程序分析题(写出程序输出结果分析结果)
#include
using namespace std
int main ()
{
int num50
int& refnum
refref+10
cout<
cout<return 0
}
输出结果
num60
ref100
问题分析题考查引含义
结果分析
程序首先定义 int 类型象 num赋初始值 50然定义
int 类型引 ref num相联系样 num ref
进行操作实际开始放着 50 物理单元容进行操作七 程序设计题
写出完整 C++程序系统函数 pow(xy)计算 xy 值注意包含头
文件 cmath
问题分析
题考查简单输入输出标准库函数调方法
解题思路
① 系统函数 pow(xy)包含头文件 cmath
② 计算 xy 值首先必须知道 x y 值程序通性 通交
互方式输入 x y 值
参考程序
xt2_1cpp
#include
#include
using namespace std
int main ()
{
float x y
cout<
float zpow (xy)
cout<
}
输出结果
please input 2 floats to x y31 2
pow(31 2)961 第 3 章 类 象
填空题
(1) 类定义中关键字 private public protected 成员访问权限分
私公保护果没关键字成员默认定义 private
权限具 public 访问权限数成员属该类函数直接访问
(2) 定义成员函数时运算符∷作域运算符 MyClass∷表
明成员函数 MyClass 类中说明
(3) 程序运行时通象分配存创建象创建象时类
作样板称象类实例
(4) 假定 Dc 类执行 Dc a[ 10] b(2)语句时系统动调
该类构造函数次数 11
结果分析
创建 10 数组元素需调构造函数 10 次创建象 b 需调构造函数 1
次系统动调该类构造函数总次数 11
(5) 意类析构函数数 1
(6) delete 运算符通常实现释放该类象中指针成员指动态存储
空间务
(7) C++ 程序存格局通常分 4 区: 数区代码区栈区堆区
(8) 数定义全局变量破坏数 封装性 较解决办法
享数定义类静态成员
(9) 静态数成员静态成员函数 意访问权限许函数访问
(10) 友元函数友元类统称友元
(11) 友元正确提高程序效率破坏类封装性数隐蔽
性
(12) 需类 A 定义类 B友元类应类 B定义中加入
条语句: friend class A
二 选择题(少选选)
(1) 属类访问权限( B )
A public B static C protected D private
结果分析
类访问权限 public protected private
(2) 关类说法正确( BC )
A 类种户定义数类型
B 类成员函数访问类私数成员
C 类中做权限说明数成员公
D 类中做权限说明数成员私
结果分析
类种户定义数类型类中成员均具种访问权限关键字
public protected private 成员访问权限分公 保护私
成员默认定义 private
私成员隐藏数该类成员函数友元函数访问(3) 类定义外部意函数访问成员( C )
A 类成员 B private protected 类成员
C public 类成员 D public private 类成员
结果分析
类种户定义数类型 类中成员均具种访问权限 公成员
定义类外部接口 私成员隐藏数 该类成员函数友元函
数引 保护成员具公成员私成员双重性质 该类
派生类成员函数友元函数引 见类定义外部 意函数访问
成员 public 类成员
(4) 关类象说法( C )错误
A 象类实例
B 象属具体类
C 类象
D 类象关系数类型变量关系相似
结果分析
C++语言类种户定义数类型类象关系相
基数类型变量关系 象属具体类
类象
(5) 设 MClass 类 dd 象 pp 指 dd 指针 cc dd
引成员访问 象 dd 通( B )进行指针 pp 通( D )
进行引 cc 通( B )进行
A ∷ B C & D >
(6) 关成员函数说法中正确( C )
A 成员函数返回值
B 成员函数重载
C 成员函数定联函数
D 成员函数设定参数默认值
结果分析
普通函数 成员函数属某类 成员函数实现 放
类体放类体外类体外实现成员函数联函数
(7) 面构造函数正确描述( B )
A 系统提供默认构造函数
B 构造函数参数返回值
C 构造函数重载
D 构造函数设置默认参数
结果分析
构造函数指定返回类型 void 类型 然返回值
(8) 假定 A 类执行语句 A a b(3) *p 调( B )
次构造函数
A 1 B 2 C 3 D 4
结果分析
声明指针会调构造函数
(9) 面析构函数正确描述( AC )
A 系统提供默认析构函数B 析构函数必须户定义
C 析构函数没参数
D 析构函数设置默认参数
结果分析
析构函数作象消失时执行项清理务 果类中没定义
析构函数 系统动生成默认析构函数 析构函数没参数 然
设置默认参数
(10) 类析构函数( D )时调
A 类创建 B 创建象 C 引象 D 释放象
(11) 创建类象时系统动调( B ) 撤销象时系统动
调( C )
A 成员函数 B 构造函数 C 析构函数 D 复制构造函数
(12) 通常拷贝构造函数参数( C )
A 某象名 B 某象成员名
C 某象引名 D 某象指针名
(13) 关 this 指针说法正确( B )
A this 指针必须显式说明 B 创建象 this 指针指该象
C 成员函数拥 this 指针 D 静态成员函数拥 this 指针
结果分析
this 指针 C++编译器动产生较常隐含象指针
显式声明创建象时 this 指针初始化指该象非静态
成员函数拥 this 指针通该指针处理象
(14) 列关子象描述中( B )错误
A 子象类种数成员类象
B 子象身类象
C 子象初始化包含该类构造函数中
D 类中含子象作成员
结果分析
子象身类象
(15) new运算符列描述中( B )错误
A 动态创建象象数组
B 创建象数组时必须指定初始值
C 创建象时调构造函数
D 创建象数组运算符 delete 次释放
结果分析
运算符 new创建象数组格式:
new < 类型说明符 > [<算术表达式 >]
中<算术表达式 >出数组 面构造函数参数 创
建象数组时指定初始值
(16) delete 运算符列描述中( D )错误
A 释放 new运算符创建象象数组
B 释放象时作 new返回指针
C 释放象数组时作指针名前须加标运算符[ ]
D 次释放 new运算符创建象结果分析
delete 次释放 new创建 1 象释放象数组
(17) 关静态数成员面叙述正确( C )
A 静态数成员实际消全局变量
B 象名 静态成员者类名∷静态成员访问静态数成员
C静态数成员静态成员函数中引
D象静态数成员占存单元
结果分析
静态数成员静态成员函数中引非静态成员函数中引
(18) 静态数成员正确描述( CD )
A 静态成员属象类享成员
B 静态数成员类外定义初始化
C 调静态成员函数时通类象激活 静态成员函数拥 this 指针
D 静态成员函数操作静态数成员
结果分析
this 指针局部量局部某象静态成员函数属整类
某象没 this 指针静态成员函数非静态成员函数均操作
静态数成员
(19) 面选项中静态成员函数直接访问( D )
A 静态数成员 B 静态成员函数
C 类外函数数 D 非静态数成员
结果分析
静态成员函数没 this 指针直接访问该类静态数成员
静态成员函数类外函数数 访问类中非静态数成员必须通参数
传递方式象名然通象名访问
(20) 类定义中引入友元原( A )
A 提高效率 B 深化类封装性
C 提高程序读性 D 提高数隐蔽性
结果分析
友元作提高效率方便编程友元破坏类封装性隐蔽
性时权衡利弊
(21)友元类声明方法( A )
A friend class< 类名> B youyuan class< 类名 >
C class friend< 类名> D friends class< 类名 >
(22)面友元错误描述( D )
A 关键字 friend 声明友元
B 类中成员函数类友元
C 友元函数访问象成员受访问特性影响
D 友元函数通 this 指针访问象成员
结果分析
友元函数放类中普通函数没 this 指针
(23) 面选项中( C )类成员函数
A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数三 简答题
(1) 类象什关系?
问题解答
类种户定义数类型 数类型 组成种类型
仅数 数进行操作函数 程序员新类
型程序中声明新变量 具类类型变量称象 创建象时 类做
样板象称类实例
(2) 类定义般形式什?成员种访问权限?
问题解答
定义类般形式:
class 类名 {
public
<公数函数 >
protected
<保护数函数 >
private
<私数函数 >
}
访问权限 3 种: 分公(public )保护(protected )私(private )
(3) 类实例化指创建类象定义类?
问题解答
指创建类象
(4) 什 this 指针?作什?
问题解答
this 指针 C++语言成员函数提供隐含象指针 显式声
明 this 指针局部量局部某象象调成员函
数时编译器根 this 指针确定应该引象数成员
(5) 什做拷贝构造函数?拷贝构造函数时调?
问题解答
拷贝构造函数种特殊构造函数 作已存象
初始化象保证引象修改通常引参数声明
const 参数
3 种情况拷贝构造函数会动调:
◆类象初始化该类象时
◆函数形参类象进行形参实参结合时
◆函数返回值类象函数执行完成返回调者时
四 程序分析题(写出程序输出结果分析结果)
(1)
#include
using namespace std
class Test
{
private int num
public
Test () 默认构造函数
Test (int n ) 带参数构造函数
}
Test ∷ Test ()
{
cout<
}
Test ∷ Test ( int n )
{
cout<
}
int main ()
{
Test x [2] 语句 1
Test y (15) 语句 2
return 0
}
输出结果
Init defa
Init defa
Init 15
问题分析
题考查构造函数调时机构造函数匹配问题
点提示
构造函数创建象时动调 具体调构造函数编译系统根重
载函数匹配原确定
结果分析
① 程序声明 2 象 x y类中 2 构造函数
② 程序首先执行语句 1创建象 x调默认构造函数 象 x 象数
组数组元素创建时调构造函数默认构造函数调 2
次输出第 12 行结果程序接着执行语句 2创建象 y调带参数
构造函数输出第 3 行结果
(2)
#include
using namespace std
class Xx
{ private
int num
public
Xx(int x ){numx} 构造函数
~Xx() {cout<
int main ()
{
Xx w(5) 语句 1
cout<
}
输出结果
Exit main
dst 5
问题分析
题考查析构函数调时机
点提示
析构函数释放象时动调
结果分析
① 程序声明象 w
② 程序首先执行语句 1创建象 w调构造函数 num初值 5程序接
着执行语句 2输出第 1 行结果程序结束时释放象 w析构函数调
输出第 2 行结果
(3) 例 310 中 Whole 类修改部分变写出输出结果
class Whole
{
public
Whole(int i ) Whole 参构造函数
Whole() {} Whole 参构造函数
~Whole() Whole 析构函数
private
Part p1 子象 1
Part p2 子象 2
Part p3 子象 3
}
Whole∷ Whole( int i )p2 (i ) p1()
{
cout<
Whole∷ ~Whole()
{
cout<
Default constructor of Part
Constructor of Part 3
Default constructor of Part
Constructor of Whole
Destructor of Whole
Destructor of Part 0
Destructor of Part 3
Destructor of Part 0
问题分析
题考查子象初始化方法含子象时构造函数析构函数调
序
点提示
◆建立 X 类象时 先调子象构造函数 初始化子象 然执行
X类构造函数初始化 X类中成员
◆子象构造函数调序取决子象类中说明序
成员初始化列表中出序关
◆果 X 类构造函数没出成员初始化列表 表明子象默认构造函
数进行初始化
◆析构函数调序构造函数调序正相反
结果分析
程序 Whole类中出现类 Part 3 象 p1p2 p3作该类数成
员 p1p2 p3 称子象建立 Whole类象 w时子象 p1
p2 p3 建立相应构造函数执行 p1 Whole类中先说明
先执行构造函数 类 Part 默认构造函数 接着 p2 执行
参构造函数紧接着初始化 p3 Whole类构造函数成员初始化列表
中没子象 p3 进行初始化选项 执行类 Part 默认构造函数
子象构造完象 w构造函数执行前 4 行输出结果
4 行执行相应析构函数输出结果
(4)
#include
using namespace std
class Book
{
public
Book(int w )
static int sumnum
private
int num
}
Book∷ Book( int w )
{
numw
sumnumw }
int Book ∷ sumnum120 语句 1
int main ()
{
Book b1(20) 语句 2
Book b2(70) 语句 3
cout<
}
输出结果
30
问题分析
题考查类范围象享静态成员数含义
结果分析
程序中语句 1 静态成员 sumnum进行初始化 sumnum初值 120执行
语句 2 时调构造函数sumnum变 100接着语句 3调构造函数sumnum
变 30
五 程序设计题
(1) 声明 Circle 类数成员 radius (半径)成员函数 area()
计算圆面积构造 Circle 象进行测试
问题分析
题考查类定义形式 象成员访问象初始化方法 求理解类
构造函数真正含义特注意客观事物属性行抽象类成员
解题思路
① 题目中已出类基部分需增加构造函数初始化数成员
radius
② 程序通性圆半径键盘输入
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档