C++面向对象程序设计第2~6章 C++对C的扩充

合集下载

面向对象分析与设计练习题含答案

面向对象分析与设计练习题含答案
3. UML 中用于描述系统的静态建模的视图称为静态视图,包括___用例图___、 ____类图____、___对象图______、__组件图________和_____配置图_____。
三、写出下列程序的输出结果。 ( 满分 10 分 ) #include <iostream.h> #include <string.h> class Person {
2. 对象是客观实体的抽象表示,是由____数据_________和______对数据的操作______ 两部分组成。而 _类___是对具有相同属性和行为的一组对象的抽象描述。因此,它 可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对 象就是类的__实例____。通过___继承__关系又可形成一种类层次结构。
(3)服务层:表示对象的服务或行为,即是要定义类上的操作。 (4)结构层:标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,
用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系 表示。
(5)主题层:可将相关类或对象划分为一个主题。 4. 简述 OOD 模型的总体结构,并画图表示。
5. 关于面向对象方法的优点,下列不正确的叙述是 ( C )。
A. 与人类习惯的思维方法比较一致
B. 可重用性好
C. 以数据操作为中心
D.可维护性好
6.(D )是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图
B. 对象图
C. 序列图
D. 用例图
7. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图
Student(char *s, float g):Person(s) { avg=g; } void print(char *s) { cout<<s<<”My name is “<<name<<”and my grade is”<<avg<<endl; } private: float avg; }; class professor:public Person { public: Professor(char *s, int n):Person(s) { publs=n; } void print() { cout<<”My name is”<<name<<” and I have”<<publs

C语言课件

C语言课件
此后,两人合作,重写了UNIX操作系统。C语言伴随着UNIX操 作系统成为一种很受欢迎的计算机语言。
C语言程序设计
第一章 C语言概述
1.2 C语言特点
– 语言简洁、紧凑、灵活 > –运算符和数据类型丰富 > – 程序设计结构化、模块化 – 生成目标代码质量高 – 可移植性好
> >
>
<
>
C语言程序设计
有问题请随时与任课老师(实验和理论)
联系
理论老师QQ:947593546
C语言程序设计
第一章 C语言概述
本课程在本科生教学中的地位及教学宗旨
本课程为专业基础课,属我校所有理工科专业本科教学 计划中的主要必修课程之一。在计算机教育方面,C 语言是为 数不多的与国外保持内容同步的课程之一,可见,它在本科生 教学中的地位之重要不言而喻。由于C 语言是许多后续专业课 程的基础,因此,在本科生教学体系中中, C 语言教学仅是 起点,而非终点。 本着面向未来的精神,本课程的教学宗旨是要努力把 C 语言从应试课程转变为一种实践工具,主要目的不再局限于使 大家单纯地了解和掌握 C 语言的基本语法规范,而是要致力 于培养大家运用C 语言解决实际问题的编程能力, 以 C 语言 为工具,介绍程序设计的基本思想和方法,培养学生无论以后 在学习、工作中使用什么语言编程,都能灵活应用这些思想和 方法的能力。
C语言程序设计
第一章 C语言概述
参考书目:
1.《C语言程序设计教程》,孙家启等编著, 安徽大学出版社; 2.《C程序设计》,谭浩强主著,清华大学出 版社; 3.《C语言程序设计》,孙家启编著,中国科 学技术出版社。
C语言程序设计
第一章 C语言概述
课时安排

可视化程序设计语言II——第3讲C#异常捕获与面向对象特性(精)

可视化程序设计语言II——第3讲C#异常捕获与面向对象特性(精)
第3讲 C#异常捕获与面向对 象特性
/aspnet/03.ppt
可视化程序设计语言II —— 第3讲 C#异常捕获与面向对象特性
~2~
大纲
1. 异常处理
2. try-catch-finally结构 3. C#面向对象程序设计基础 4. 继承 5. 类的访问修饰符
6. this static 关键字
可视化程序设计语言II —— 第3讲 C#异常捕获与面向对象特性
案例名称:构造函数和析构函数 程序名称:2-26.cs
~ 13 ~
using System; class Desk{//构造函数和类名一样,析构函数前面加~ public Desk(){ Console.WriteLine("Constructing Desk"); weight=6; high=3; width=7; length=10; Console.WriteLine("{0},{1},{2},{3}",weight,high,width,length); } ~Desk(){ Console.WriteLine("Destructing Desk "); } protected int weight; protected int high; protected int width; protected int length; public static void Main(){ Desk aa=new Desk(); Console.WriteLine("back in main() "); } };
在C#中,多态性的定义是:“同一操作作用于不同的类 的实例,不同的类将进行不同的解释,最后产生不同的 执行结果”。C#支持两种类型的多态性。

面向对象复习题

面向对象复习题

第一部分面向对象方法概述一、填空题1.对象的抽象是,类的实例是。

2.动态模型描述了系统的结构。

3.软件系统中存在两种控制流,外部控制流是系统中对象之间外部事件的事件流,有、和三种外部事件控制流。

控制流是一个处理内部的控制,均可结构化。

4.在C++和C中有一个函数,可以使用这个过程来说明构成系统主要对象的那些类的实例。

5.继承性是自动共享父类属性和的机制。

6.对象具有封装性,实现了的组合。

7.(8.在面向对象方法中,信息隐藏通过对象的来实现。

类结构分离了和,从而支持了信息隐藏。

9.抽象是指强调实体的、,忽略一些无关紧要的属性。

类实现了对象的和的抽象,它是对象的共性的抽象。

10.子类只继承的属性和操作,称为单重继承。

11.对象的抽象是,类的具体化就是,也可以说类的实例是。

12.类具有,它是的行动的抽象。

13.对象具有状态,对象用来描述它的状态。

14.概念模型描述了系统的。

功能模型指出,动态模型确定,而对象模型确定。

功能模型由组成。

15.面向对象有三个基本要素,它们是、、。

16.面向对象技术在三个级别上促进了共享,它们是、、。

17.活动是一种有时间间隔的操作,它是依附于。

动作是一种瞬时操作,它是与联系在一起的操作。

18.[19.封装性是指所有软件部件内部都有明确的以及清楚的。

每个软件部件都有友好的,软件部件的与分离。

20.主要的对象类型有、、和。

21.同一个类中的共享是指同一个类中的对象有着相同的和相同的。

22.结构化方法的本质是,其、可修改性和可重用性都比较差。

23.对象还有,用于改变对象的状态。

对象实现了和的结合。

24.面向对象方法认为系统是由应用域的组成。

25.对象具有状态,描述对象的状态用它的。

26.类具有属性,描述类的属性用。

27.一个方法有、和。

28.动态模型描述了系统的。

29.】30.对象模型的主要元素是类,关联和。

31.通过这种机制和构造来实现不同应用中的信息共享。

32.面向对象程序设计语言与其它程序设计语言的主要区别是它具有。

基于Windows环境有限元前置处理面向对象程序设计

基于Windows环境有限元前置处理面向对象程序设计

摘要 : 用 V su c + 、 进行 面向对 象程序设计 ,开发 了以四边形 为主的任意 多边形域 采 i l + 60 a
( 带孔洞) 网格 全 自动生成程序 ,并在 此基础上 完成前置处理 中网格处理 、显 示等基本功 能. 与传统的有 限元程序相 比,面向对象程序 更加结构化 ,更易于编写 、 维护和扩 充,程
形 即可 :
2 )若子正方 形部分属 于问题域 ,则需继续 四分下去 ; 3 )若子 正力 形完全不 属于 问题域 ,则可直接剔除该子 正 形. 不断 重复上述 过程 .直至生成全部 的单 元网格 .
收 稿 日期 :2 0 . 7 I 0 10 - 3
作 者 简 介 : 王 小蔚 (I7 . ) 9 4 .女 .M 北卢 龙 』 .硕 上 .丰婪 从 事计算 力 学研 究 、
整.
2 数据结构方案
数据结构 和 内存 管理在 软件设 计 中占有 重要 地位 ,数据 结构 的设 计应尽 量避免数 据冗余 和
数 据耦 合 ,尽 可能地做到 信息隐蔽 和局布 化. 通过 比较 ,面 向对 象程序设计 力 法在程序 编写 、数据管理 、代码 可重用 性等力 面具有优 越 ’
维普资讯
第 1 6卷 I 期 20 0 2年 3门
五 邑^学学搬 ( 自然科学版 )
J R ALOFWUY U V R I Y f a rl ce c dt n OU N ] NI E ST t  ̄ S i e io ) N u n E i


界 单 £
题 域
\ I


J I l l L ,’ , 一r I J ,r l l
三条边 相交 . 原始 边 界单 元 内部划分为 四边 形单 图 1 覆 盖 问题域 的最小 正 方 形 S 将 元 与 三 角 形 单 元 , 时 形 成 的许 多 单 元 是 不 合 格 的 , 这 如狭长 比过 大 、钝角 过大 、锐角过 小等 ,本 文通过一 系列 的长度 、角度 计算 ,对 节点 、边 的删 除及 凹四边形 的处理 ,并尽量将边 界的j角形 单元 转化 为四边形单元 ,实现对单 元 的优化 、调

C(1-3)

C(1-3)
可移植性好,不能对硬件操作; 2. CPL: 63年接近硬件,规模较大、难以应用;
3. SIMULA: 1966~1967 SIMULA 66是ALGOL 60
的扩充,SIMULA 67引进了“对象”和“类”等概 念而成为第一个面向对象的语言; 4. BCPL :67年由CPL改制,结构化、直接处理硬 件;
四、结构化程序设计方法强调:
程序设计风格和程序结构的规范化,提倡清 晰的结构 ①自顶向下; ②逐步细化; ③模块化设计; ④结构化编码;
简单C语言程序的构成和格式(1)
例1: 已知矩形的两条边长,求矩形的面积。
#include “stdio.h” /* 库函数,由编译系统提供 */ main() { float a,b,area; /*定义a、b、area为实型变量*/ a=1.2; /*给矩形的两条边赋值*/ b=3.6; area=a*b; /*求出矩形的面积放入变量area*/ printf(“a=%f,b=%f,area=%f\n”,a,b,area); /*输出矩形的两条边长和面积*/ } 运行结果为: a=1.200000,b=3.600000,area=4.320000
3.3 整型(integer)数据(3)
如:5(10) 101(2) 十进制=2n+2n-1+…………+22+21+20 5(10)=22+0+20=4+1=5; 1111(2)=23+22+21+20=8+4+2+1=15(10) 内存存放为:0000000000000101 最大正整数:0111111111111111,即32767 2) 负整数 补码表示,即反码+1 如:-5的表示 原码(不考虑负号):0000000000000101 反码:1111111111111010 (对原码 0变1,1变0) 补码:1111111111111011 (对反码最末一位加1) 1011+0001=1100 3) 无符号整数 16个二进制位全部同时存放数值。 范围为0000000000000000~1111111111111111 即0~65535。

软件工程导论课件之第11章 面向对象设计(第五版)(张海藩编著)

交互耦合
如果对象之间的耦合通过消息连接来实现,则这种耦合 就是交互耦合。
交互耦合应尽可能松散 。
继承耦合
与交互耦合相反,应该提高继承耦合程度。 继承是一般化类与特殊类之间耦合的一种形式。通过继
承关系结合起来的基类和派生类,构成了系统中粒度更 大的模块。彼此之间应该越紧密越好。
5. 强内聚 内聚衡量一个模块内各个元素彼此结合的紧密程度。
多态重用
利用多态性不仅可以使对象的对外接口更加一般化, 从而降低了消息连接的复杂程度,而且还提供了一 种简便可靠的软构件组合机制。
11.3.3 软件重用的效益
1. 质量 随着每一次重用,都会有一些错误被发现并被清除,
构件的质量也会随之改善。 2. 生产率 当把可重用的软件成分应用于软件开发的全过程时,
6. 可重用
软件重用是提高软件开发生产率和目标系统质 量的重要途径。
重用基本上从设计阶段开始。
重用有两方面的含义:
一是尽量使用已有的类(包括开发环境提供的类库, 及以往开发类似系统时创建的类),
二是如果确实需要创建新类,则在设计这些新类的 协议时,应该考虑将来的可重复使用性。
11.2 启发规则
3. 典型的可重用软件成分 项目计划 成本估计 体系结构 需求模型和规格说明 设计 源代码 用户文档和技术文档 用户界面 数据 测试用例
11.3.2 类构件
面向对象技术中的“类”,是比较理想的可重 用软构件,称之为类构件。
1. 可重用软构件应具备的特点
模块独立性强 具有高度可塑性 接口清晰、简明、可靠
软件工程导论课件之第11章 面向对象设计 (第五版)(张海藩编著)
分析是提取和整理用户需求,并建立问题域精 确模型的过程。
设计则是把分析阶段得到的需求转变成符合成 本和质量要求的、抽象的系统实现方案的过程。

ArcView GIS程序设计功能模块的扩充


摘 要 ; 针对 AciwI 在程序设计功能上 的薄弱之处,利用 V rVeGS B强大 、灵活的程序设计功能及 DE D 通讯功能,
扩 充 了 A c iw G S二 次开 发应 用软 件 的能力 。 rV e I
关键词 :地理信息系统;AciwGS V :空间数据 rVe I: B 中图分类号 :T 3 1 l P l. 1 文献标 识码 :A
c m mu iai n o n c to .
Ke r s GI ywo d : S; Ar Viw S: Viu l sc s ail aa c e GI s a Ba i : p t t ad
0 刖 言 ^ _ _ ● 一 ‘0
地理信息系统 ( I )是整个地球或 部分区域的资源 、环境信 息在计算机 软件和硬 件 的支 持下 , GS 以一定的格式输入、存贮 、检索 、显 示和 综合 分析 应用的技术系统 ,是支 持空间定位信 息数字化获 取 ,管理和应用的技术体系 。 自 6 O年代加拿大测量学家 R T T m i sn 首先提 出地理信 息系统这 ..o1no
l ( ) 7  ̄ 8 8 1: 9 0
Fb20 e . 06
文 章 编 号 : 1 0 ・0 02 0 ) 10 7 -2 0 22 9 (0 6 0 -0 90
A w G r V ci e I S程序 设计 功 能模块 的扩 充
丁艳 清,于辉 ,袭扬
( 黑龙江 八一 农垦 大学 文理 学 院, 大庆 1 3 1 ) 6 源自 9 维普资讯 8 O
黑 龙 江 八 一 农 垦 大 学 学 报
第l 8卷
和 S r p 组成 , D c m n 又 由 D c m n id w和 D c m n U 组成 , c it 而 oue t ou e t n o W oue t I G 分为 V e , a l , h r , iw T b e C a t

第1章对C语言的初步认识

川师范大学成都学院
算法是解决“做什么”和“怎么做”的问题 程序中的操作语句,是算法的体现 不了解算法就谈不上程序设计
明德 博学 求实 创新
四川师范大学成都学院

结构化程序设计中采用的3种基本结构如 图1-1所示,所有的程序代码都实现在这3种结 构中。
结构图
四川师范大学成都学院
计算机语言:人与计算机进行“对话”的语言。
程序设计语言就是计算机能读懂的语言。
书写
执行
要求程序员按照语言的规范进行编程
计算机之所以能有条不紊的进行工作,是因为有程序
在进行操作和控制。
明德 博学 求实 创新
四川师范大学成都学院
计算机语言的发展
机器语言——汇编语言——高级语言
支持这种结构化的程序设计方法的语言称 为结构化的程序设计语言。结构化的程序设计 方法,主要是实现两个方面的问题:程序的模 块化设计和结构化编码。
明德 博学 求实 创新

四川师范大学成都学院
三种基本结构 顺序结构 选择结构 循环结构 三种基本结构的特点 只有一个入口 只有一个出口 每一个基本结构中的每一部分都有机会执行到 结构内不存在“死循环”
开始 输入两个整数a,b
Y
输入输出框
判断框 处理框 流程线
N
a > b? max = a 输出max 结束
明德 博学 求实 创新
max = b
四川师范大学成都学院
流程图描述算法(练习)
要求: 用流程框图描述函数
输入一个数x,根据x的值输出y。 1 x0 y= -1 x < 0
y=1 yes
start
基本成分:模块、调用、输入输出数据

基于面向对象技术的齿轮类CAD/CAPP程序设计


25 多态性 . 面 向对象 的程 序设 计 语言 支 持多 态性 。 从本 质 上. 多态就是 一个 名字可 以有 多种语 义 , 许把 同一 允 消息送 到一个 父类 的 对象 和 它的 子类 的 对 象 上 . 多 态性 主要强调 在一 个类 等 级 中 , 以使 用 相 同函数 可 的多 个版本 , 取决于运 行 时^ 1参数 的类型 、 : 3 存取 方 式和返 回值 , 可在不 同的运行 时同执行 。 26 易维护性 和开放型 设计 . 由于 对象 实现 了抽 象和 封装 , 可 能 的错误 局 使 限于 自身 , 易传 播 , 不 易于 查 错 和修 改 , 同时 利 用对 象的继承 性 , 可使 系统 的功 能 不 断地 根据 需 要 进行 扩充 , 很少 影响到其他 软件 的运 行… 。 而
文献标识码 :A
动态链 接 , 便于 重 用 和扩充 。 特别是 对机 械 的工艺设 计库等 。
随着计算机集成制造和智能型工艺设计专家系 统 的开发 和发展 , 传统 的设 计 、 产方式 已经不 能满 生
足敏捷制造 、 能制造 、 拟 制 造 、 色制 造 等 新 的 智 虚 绿 生产方式 。 向对 象 程序 设 计 技术 是 一种 新 的 程序 面 设计思 想和设 计技 术。 所谓 面 向对象 , 就是 将现 实世 界 中的实体抽象 成 程 序 中 的一 个 封装 好 的对象 类 . 用 一组数据 刻画它 的特征 并且支持 一组 对它 的施力
2 1 模 块 性 .
图2
多t继承
Fi . M t t : n e i g2 a lI h rt t  ̄I
对象 是 系 统 中基本 的运 行 实 体 , 内部 状态 不 其 受或很少 受外界 的影 响 . 具 有 模块 化 最重 要 的特 它 性: 抽象 和 信息 隐蔽 。 块 反 映 了数 据 和对 象 的抽 模 象, 是设计 良好软件系统的基本属性 . 每一个模块是 程 序可单 独编址 的元 素 。 2 2 封 装性 . 封装是 一 种 信息 隐蔽 技术 , 是把 数据 和 加工 就
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蚌埠学院计算机系
9
C++面向对象程序设计
此程序从理论上说是不符合语法规则的(因此编译后, 出现了两个警告性提示),因为参数类型不匹配。应该 根据参数类型,分别写出针对int参数的max1函数和针 对float参数的max2函数,改后的程序为: #include <iostream.h> int max1(int x,int y) {int z; z = (x>y?x:y); return z; } float max2(float x,float y) {float z; z = (x>y?x:y); return z; } void main() {int a,b; float c,d; cin>>a>>b>>c>>d; cout<<max1(a,b)<<endl; cout<<max2(c,d)<<endl; }
蚌埠面向对象程序设计
2.重载函数的区分 重载函数的区分是以函数参数来进行的,而不是用函数的
返回值来区分不同的函数,所以参数表完全相同而返回值
不同的两个同名函数在C++中不认为是重载,而判定为错 误的定义。 3.不要让功能不同的函数进行重载 重载函数的设计是为了让具有相似功能的操作具有相同的 名字,从而提高程序的可读性,而如果让完全没有相似功 能的函数进行重载,就失去了本来的目的。
蚌埠学院计算机系
3
C++面向对象程序设计

在C++中,输入流 cin是从键盘到计算机的信息流 (包括控制符)。输出流cout 是从计算机到显示 器的信息流(包括控制符)。

在使用输入、输出流之前,要包含系统头文件 iostream.h。而流的控制符则在头文件iomanip.h 中定义。
蚌埠学院计算机系
蚌埠学院计算机系
15
与 C不同,C++允许在函数说明(函数原型)或函数定义中,为一个或 多个参数指定默认值。这会给函数调用带来方便性和灵活性。
程序运行结果: 请输入数据:a,b的值为:3 6 输出结果: a,b的大者为:6 a,b的大者为:8
C++面向对象程序设计
在使用默认值参数的函数时,要注意以下几点: ⑴如果函数有多个参数,则具有默认值的参数必须排在没有 默认值的参数的右边,即任何一个默认参数以右不得有非 默认参数。 ⑵如果在一个文件中既有函数原型,又有函数定义,则只能 在函数原型中指定参数的默认值。 ⑶函数的原型可以说明多次,也可以在各个函数原型中设置 不同的参数具有默认值,但要注意,在一个文件中,函数 的同一参数只能在一次声明中指明默认值。 ⑷调用带有默认参数的函数时,可以用实际的实参替代原来 的默认参数,这种替代是按照从左向右的顺序进行的。
蚌埠学院计算机系
10
C++面向对象程序设计


编译正常通过。但也可以看到这样做比较麻烦,max1和max2函 数的功能是相近的,只是参数有所不同,但所有代码都要重新 写一遍,而且在使用时还要注意哪类数据应对应哪个函数。 C++比 C灵活:C++允许函数同名。同一个函数名字对应着多个 不同的函数实现,称为重载函数(overloaded function)。 C++系统要求其参数必须不同。改为重载形式后,程序如下:
蚌埠学院计算机系
6
C++面向对象程序设计
【例2-1】C++输入输出示例。
程序代码如下: //e2_1.cpp #include <iostream.h> //使用输入流,要包含头文件iostream.h #include <iomanip.h> //使用控制符setw,要包含头文件 iomanip.h void main() { int i; char c; float f; cin>>i>>c>>f; cout<<"输出结果为: "; cout<<" i ="<<i<<" c ="<<c<<" f "<<setw(10)<<f<<endl; } 运行程序后,从键盘输入6 a 45.5,结果如下 输出结果为:i=6 c=a f 45.5
在执行max(a,b)函数 调用时,将根据a和b的类 型,自动在内存中生成一 个模板函数(即实例化函 数),并执行之。
蚌埠学院计算机系
18
C++面向对象程序设计
【例2-4】的模板中可以带有多个参数类型。
#include <iostream.h> 程序运行结果: template <class T1,class T2> 请输入a,b,c,d的值:3 5 2.5 6.6 T2 max(T1 x,T2 y) { 输出结果: return x>y?x:y; a,b的大者为5 } a,d的大者为6.6 void main() { int a,b; float c,d; cout<<"请输入a,b,c,d的值:"; cin>>a>>b>>c>>d; cout<<"输出结果:"<<endl; cout<<'\t '<<"a,b的大者为"<<max(a,b)<<endl; cout<<'\t '<<"a,d的大者为"<<max(a,d)<<endl; }
#include <iostream.h> int max(int x,int y) {int z; z = (x>y?x:y); return z; } float max(float x,float y) { float z; z = (x>y?x:y); return z; }
void main() { int a,b; float c,d; cin>>a>>b>>c>>d; cout<<max(a,b)<<endl; cout<<max(c,d)<<endl; }
蚌埠学院计算机系
11
C++面向对象程序设计
2.2.2
使用函数重载的条件
【例2-2】中两个函数可以使用相同的函数名,即: int max(int, int); float max(float, float); 还可以有 long max(long, long); double max(double, double); 等等。 重载函数应满足:函数名相同,函数的返回值类型可以不同, 但各函数的参数表中,参数个数,类型或顺序应有所不同。这样, 才能区别函数的功能。例如: xx 类型 func(double, int); xx 类型 func(int , double); //函数形参顺序不同 xx 类型 func(int); //函数形参数目不同 xx 类型 func(double,double); //函数形参类型不同 这样就形成了函数的重载。
17
蚌埠学院计算机系
C++面向对象程序设计
【例2-4】将【例2-2】改为模板形式
#include <iostream.h> template <class T> T max(T x,T y) { return x>y?x:y; } void main() { int a,b; float c,d; cin>>a>>b>>c>>d; cout<<max(a,b)<<endl; cout<<max(c,d)<<endl; }
4
C++面向对象程序设计
2.1.1

输入操作
输入操作的格式如下: cin>>简单类型变量[>>简单类型变量„][>>控制符„]; 说明: ⑴简单类型变量可以为char,short,int,long, float,double,long double,char * 之中的任何一 种。 ⑵可以利用一个语句依次连续输入多个简单类型的变量和各 种控制符。变量和控制符的输出次序根据需要而定。 “>>”运算符从左向右依次运算。
C++面向对象程序设计
第二~六章 C++对C语言的扩充
1
C++面向对象程序设计
学习目标: 掌握C++对C语言的各种基本语法扩充功能, 并能在编程中加以灵活运用。 ⑴掌握新的输入输出方式 ⑵理解为什么要进行函数重载,掌握其使用方法 ⑶理解函数的默认参数,掌握其使用方法 ⑷理解内联函数的作用 ⑸掌握const 修饰符的使用方法 ⑹掌握动态存储分配的使用方法 ⑺理解引用的概念,掌握其使用方法
蚌埠学院计算机系
12
C++面向对象程序设计
2.2.3
重载函数的使用方法
1.匹配重载函数的顺序 以下两个函数是重载函数: int func(int); float func(float); 在调用名为 func 的函数时,编译器究竟调用哪个重载函 数呢?这需要由主函数所赋的实参与各个重载函数的形参 的匹配情况来决定。 匹配按以下顺序进行: ⑴参数类型是否严格匹配? ⑵经过内部类型转换,参数类型是否匹配? ⑶是否用强制类型转换,使参数类型匹配?
相关文档
最新文档