C面向对象程序设计青岛理工大学PPT课件
合集下载
《面向对象的程序设计语言——C》课件--第6章
Windows应用程序中的菜单是按照一定层次来进行组 织的,包括菜单项和弹出菜单,其中弹出菜单又可以包 括菜单项和其他的弹出菜单。
1.创建菜单资源
菜单中的每一个菜单项都由菜单项名和命令ID号两个 基本要素组成。在菜单资源中,每个菜单项都必须有一 个唯一的命令ID号来对它进行标识,这个ID号是系统在 对菜单项进行识别时使用的。对于用户而言,菜单项的 标识是利用它所属的弹出菜单和菜单项的句子来标识的, 比如ID_,其所属的弹出菜单是【文件】,菜单项名称为 【打开】。
返回
3
在【Caption】栏中输入“显示(&P)”,括号中的&P表示 紧跟在它后面的字母“P”是助记符,这样,在程序运行 过 程 中 , 就 可 以 用 Alt+P 键 来 激 活 【 显 示 】 菜 单 。 按 【Enter】键继续。
这时,在主菜单中将增加一个“显示”菜单,在助记符P下 面有下划线。同时,在生成的菜单的右面和下面各出现 一个新的菜单或菜单项,可以继续添加新的菜单或菜单 项。
返回
2
创建菜单可以有几种方法,最简单的方法是用菜单资 源编辑器进行设计。在这里,我们把第五章关于模式对 话框的例子进行改造,使对话框的弹出方式由在窗口中 双击鼠标改为由单击某个菜单命令实现。具体步骤如下: 步骤一:在Visual C++ 6.0中,选【File】菜单中的【Open Workspace】菜单项,打开已创建的“Dialog.dsw”文件。
protected:
//{{AFX_MSG(CDialogView)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); afx_msg void OnDisplayData(); //ClassWizard自动添加的
1.创建菜单资源
菜单中的每一个菜单项都由菜单项名和命令ID号两个 基本要素组成。在菜单资源中,每个菜单项都必须有一 个唯一的命令ID号来对它进行标识,这个ID号是系统在 对菜单项进行识别时使用的。对于用户而言,菜单项的 标识是利用它所属的弹出菜单和菜单项的句子来标识的, 比如ID_,其所属的弹出菜单是【文件】,菜单项名称为 【打开】。
返回
3
在【Caption】栏中输入“显示(&P)”,括号中的&P表示 紧跟在它后面的字母“P”是助记符,这样,在程序运行 过 程 中 , 就 可 以 用 Alt+P 键 来 激 活 【 显 示 】 菜 单 。 按 【Enter】键继续。
这时,在主菜单中将增加一个“显示”菜单,在助记符P下 面有下划线。同时,在生成的菜单的右面和下面各出现 一个新的菜单或菜单项,可以继续添加新的菜单或菜单 项。
返回
2
创建菜单可以有几种方法,最简单的方法是用菜单资 源编辑器进行设计。在这里,我们把第五章关于模式对 话框的例子进行改造,使对话框的弹出方式由在窗口中 双击鼠标改为由单击某个菜单命令实现。具体步骤如下: 步骤一:在Visual C++ 6.0中,选【File】菜单中的【Open Workspace】菜单项,打开已创建的“Dialog.dsw”文件。
protected:
//{{AFX_MSG(CDialogView)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); afx_msg void OnDisplayData(); //ClassWizard自动添加的
第2章C面向对象程序设计-PPT精品
5. 拷贝构造函数 实际上,如果类中没有声明拷贝构造函数,则编译器自动生成一个默认的拷贝构造函数。例如: [例Ex_ConCopyDefault] 默认拷贝构造函数的使用
#include <iostream.h>
class CDate
public:
CDate(int year = 2019, int month = 7, int day = 30)
}
// 其他公共成员
private:
int nYear, nMonth, nDay;
};
void main()
{
CDate day1(2019, 8);
CDate day2(day1);
}
2.1.3 构造函数和析构函数
[例Ex_ConCopy] 拷贝构造函数的使用 运行结果为:
2.1.3 构造函数和析构函数
2.1.2 对象的定义
一个类定义后,就可以定义该类的对象,如下面的格式: <类名> <对象名表> 其中,类名是用户已定义过的类的标识符,对象名可以有一个或多个,多个时要 用逗号分隔。被定义的对象既可以是一个普通对象,也可以是一个数组对象或指 针对象。例如:
CMeter myMeter, *Meter, Meters[2]; 这时,myMeter是类CMeter的一个普通对象,Meter和Meters分别是该类的一个 指针对象和对象数组。 一个对象的成员就是该对象的类所定义的数据成员(成员变量)和成员函数。访问 对象的成员变量和成员函数和访问变量和函数的方法是一样的,只不过要在成员 前面加上对象名和成员运算符“.”,其表示方式如下: <对象名>.<成员变量> <对象名>.<成员函数>(<参数表>)
#include <iostream.h>
class CDate
public:
CDate(int year = 2019, int month = 7, int day = 30)
}
// 其他公共成员
private:
int nYear, nMonth, nDay;
};
void main()
{
CDate day1(2019, 8);
CDate day2(day1);
}
2.1.3 构造函数和析构函数
[例Ex_ConCopy] 拷贝构造函数的使用 运行结果为:
2.1.3 构造函数和析构函数
2.1.2 对象的定义
一个类定义后,就可以定义该类的对象,如下面的格式: <类名> <对象名表> 其中,类名是用户已定义过的类的标识符,对象名可以有一个或多个,多个时要 用逗号分隔。被定义的对象既可以是一个普通对象,也可以是一个数组对象或指 针对象。例如:
CMeter myMeter, *Meter, Meters[2]; 这时,myMeter是类CMeter的一个普通对象,Meter和Meters分别是该类的一个 指针对象和对象数组。 一个对象的成员就是该对象的类所定义的数据成员(成员变量)和成员函数。访问 对象的成员变量和成员函数和访问变量和函数的方法是一样的,只不过要在成员 前面加上对象名和成员运算符“.”,其表示方式如下: <对象名>.<成员变量> <对象名>.<成员函数>(<参数表>)
C++面向对象程序设计(完整课件)
参数。
函数参数传递方式
包括值传递、引用传递 和指针传递三种方式。
函数返回值
函数可以返回一个值, 返回类型应与函数定义 时的返回类型一致。
03
面向对象程序设计基础
类与对象概念引入
类(Class)定义
类是创建对象的模板,它定义了对象的属性和方法。
对象(Object)概念
对象是类的实例,具有类定义的属性和行为。
安装Qt
介绍在不同操作系统下如何安装Qt,包括Windows、 Linux和macOS等。
配置Qt开发环境
详细讲解如何配置Qt开发环境,包括设置环境变量、安装 Qt Creator等。
Qt基本控件使用教程
Qt控件概述
01
简要介绍Qt中常用的控件,如按钮、标签、文本框等
。
使用Qt Designer设计界面
C++面向对象程序设计(完整课件)
$number {01} 汇报人:XX
2024-01-18
目录
• 课程介绍与目标 • C基础语法回顾 • 面向对象程序设计基础 • C高级特性剖析 • 实战项目:基于C的图形界面开
发 • 课程总结与展望
01
课程介绍与目标
课程背景与意义
1 2
3
面向对象程序设计概述
类与对象关系
类是对象的抽象描述,而对象是类的具体实现。
封装性原理及实践
封装(Encapsulation)定义
将数据和操作数据的函数捆绑在一起,形成“对象”。
封装优点
提高代码重用性、安全性和可维护性。
封装实践
使用访问修饰符(public、private、protected)来控制成员变量和成员函数的可见性。
函数参数传递方式
包括值传递、引用传递 和指针传递三种方式。
函数返回值
函数可以返回一个值, 返回类型应与函数定义 时的返回类型一致。
03
面向对象程序设计基础
类与对象概念引入
类(Class)定义
类是创建对象的模板,它定义了对象的属性和方法。
对象(Object)概念
对象是类的实例,具有类定义的属性和行为。
安装Qt
介绍在不同操作系统下如何安装Qt,包括Windows、 Linux和macOS等。
配置Qt开发环境
详细讲解如何配置Qt开发环境,包括设置环境变量、安装 Qt Creator等。
Qt基本控件使用教程
Qt控件概述
01
简要介绍Qt中常用的控件,如按钮、标签、文本框等
。
使用Qt Designer设计界面
C++面向对象程序设计(完整课件)
$number {01} 汇报人:XX
2024-01-18
目录
• 课程介绍与目标 • C基础语法回顾 • 面向对象程序设计基础 • C高级特性剖析 • 实战项目:基于C的图形界面开
发 • 课程总结与展望
01
课程介绍与目标
课程背景与意义
1 2
3
面向对象程序设计概述
类与对象关系
类是对象的抽象描述,而对象是类的具体实现。
封装性原理及实践
封装(Encapsulation)定义
将数据和操作数据的函数捆绑在一起,形成“对象”。
封装优点
提高代码重用性、安全性和可维护性。
封装实践
使用访问修饰符(public、private、protected)来控制成员变量和成员函数的可见性。
面向对象程序设计 c 的初步知识PPT课件
stud2.display( );
// 调用对象stud2的display函数
return 0;
}
第18页/共32页
在一个类中包含两种成员: 数据和函数,分别称为数据成员和成员函数。在C++中 把一组数据和有权调用这些数据的函数封装在一起,组成一种称为“类(class)”的数 据结构。在上面的程序中,数据成员num,score和成员函数setdata,display组成 了一个名为Student的“类”类型。成员函数是用来对数据成员进行操作的。也就
整体编译。
第9页/共32页
程序的第2行“using namespace std; ” 的意思是“使用命名空间std”。C++标 准库中的类和函数是在命名空间std中声明的,因此程序中如果需要用到C++标准库 (此时就需要用#include命令行),就需要用“using namespace std; ”作声明,
编写的。
第4页/共32页
但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。 C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80 年代初在C语言的基础上开发成功的。C++保留了C语言原有的所有优点,增加了面
向对象的机制。 C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于 C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序 设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
机高级语言。其中使用最广泛、影响最大的当推BASIC语言和C语言。 BASIC语言是1964年在FORTRAN语言的基础上简化而成的,它是为初学者设计的
C语言面向对象程序设计ppt课件
函数返回值为指向环链最表新版的整理最pp后t 一个节点的指针
8
3. Jose * count(int, Jose *) 两个参数分别为数小孩的个数、当前节点的指针 函数返回值为数了小孩个数后的当前节点的前一个节点的指针
4. void process(int, int, Jose *) 三个参数分别为小孩总数、间隔数、当前节点的前一个节点 的指针
定义两个类: Ring类 属性: 链表的始地址; 当前指针; 哨兵指针
操作: 按照间隔数确定当前指针; 输出小孩的编号; 将当前小孩从链表中删除; 构造环链表; 析构环链表;
Jose类 属性: 总数; 间隔数; 开始位置 操作: 属性赋初值; 处理所有小孩并找出胜利者
最新版整理ppt
13
//文件为ring.h
1 n
n-1
2 3
...
};
其函数声明如下:
1. int assign(int *, int *, int *)
三个参数分别为指向总数、间隔数、开始位置的指针
函数返回值为1,则初始化成功;为0,则失败
2. Jose * initial(int , Jose *)
两个参数分别为总数和结构指针, 指向待初始化的结构数组
return 1;
}
最新版整理ppt
10
jp
Jose * initial(int n, Jose * jp)
{
int nline=0;
Jose * px = jp;
for(int i=1; i <= n; i++) {
px -> next = jp + i%n;
px ->code = i;
(2024年)c面向对象程序设计(完整课件)pptx
2024/3/26
18
派生类构造函数和析构函数
2024/3/26
派生类构造函数
派生类的构造函数负责初始化派生类新增的数据成员和继承的基类数据成员。在 构造派生类对象时,首先调用基类的构造函数,然后再执行派生类的构造函数。
派生类析构函数
派生类的析构函数负责释放派生类对象所占用的资源,包括派生类新增的数据成 员和继承的基类数据成员。在销毁派生类对象时,首先执行派生类的析构函数, 然后再调用基类的析构函数。
c面向对象程序设计(完整课件 )pptx
2024/3/26
1
目录
2024/3/26
• 面向对象程序设计概述 • C语言基础 • 类与对象 • 继承与派生 • 多态性 • 模板与泛型编程 • 文件操作与流处理
2
01 面向对象程序设计概述
2024/3/26
3
面向对象程序设计概念
面向对象程序设计(Object-Oriented Programming,OOP)是一种编程范式或 编程风格,它以对象为基础,利用类和对象的概念来设计和实现程序。
6
02 C语言基础
2024/3/26
7
C语言概述
C的起源和发展
介绍C的历史背景、发展 过程和重要里程碑。
2024/3/26
C的特点和优势
阐述C语言的特点,如面 向对象、高效、可移植等 ,以及相比其他语言的优 势。
C的应用领域
列举C在各个领域的应用 ,如系统软件、游戏开发 、嵌入式系统等。
8
C语言基本语法
ofstream
用于写入文件的输出文件流类。
2024/3/26
ifstream
用于读取文件的输入文件流类。
C面向对象程序设计第2章_类和对象PPT课件
成 员
float score;
void display( )//函数成员
{
<<endl;
cout<<”number: ”<< number; 成
cout<<”name: ”<< name;
员
cout<<”score: ”<< score
函
数
}
};
11
一个复数结构的例子
struct complex{ double real; double image; void init(double r,double i) { real=r; image=i; } double realcomplex() { return real; } …;
公有的。 • 此处所指成员包括数据成员和成员函数。
13
私有成员和公有成员的声明
struct complex{ private:
double real; double image; public: void init(double r,double i) { real=r; image=i; } double realcomplex( ) { return real; } …; };
/*独立函数display */
{
void display(Student * stu)
cout<<”number: ”<< number; 成
{
cout<<”name: ”<< name;
员
printf(”number:%d”,stu->number);
cout<<”score: ”<< score
C 面向对象程序设计 - 青岛理工大学
课程基本信息
课本: C++面向对象程序设计,李兰,任凤华等, 2014,
第二次印刷。
参考书籍: Bruce Eckel.Thinking in C++ (2nd Edition).北京: 机械工业出版社,2006.10 郑莉.C++语言程序设计(第3版).北京:清华大 学出版社,2005.7 谭浩强.C++面向对象程序设计.北京:清华大学出 版社,2006.1
【例1-4】用子函数和主函数编写程序实现例1-3的编程要求 int add(int a, int b) //定义add函数,函数值为整型 { int c; //定义一个整型变量 c=a+b; //计算两个数的和 return c; //将c的值返回,通过add带回调用处 }
编译运行该程序,屏幕上将出现与例1-3相同的提示, 当输入两个整型数(22和36)后,按回车键,同样可 得输出结果: x+y=58
对同类型对象抽象出其共性,形成类。
类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信
1.2 程序设计方法
3、面向对象程序设计方法
优点:
程序模块间的关系更为简单,程序模块的独立性、数 据的安全性就有了良好的保障。
通过继承与多态性,可以大大提高程序的可重用性,
使得软件的开发和维护都更为方便。
一个消息就是一个对象要求另一个对象实施某 种操作的一个请求。
1.3 面向对象程序设计的基本特点
4、继承
继承对于软件复用有着重要意义,是面向对象 技术能够提高软件开发效率的重要原因之一。
定义:特殊类的对象拥有其一般类的全部属性 与服务,称作特殊类对一般类的继承。 例如:将轮船作为一个一般类,客轮便是一个 特殊类。
C#面向对象程序设计-正式版PPT课件
• class关键字前面是访问级别。在C#中,类的访问 级别由类的修饰符进行限定,类的修饰符如表5-1 所示。在上例中,如果类的修饰符为public,这表 示该类可以被任何其他类访问。类的名称位于 class关键字的后面。
-
14
2.2 类的声明
• 以上的类修饰符可以两个或多个组合起来使用,但需要注意下面几点: (1) 在一个类声明中,同一类修饰符不能多次出现,否则会出错。 (2) new类修饰符仅允许在嵌套类中表示类声明时使用,表明类中隐藏了
//香蕉类中其他的属性和方法 }
-
6
1.2 面向对象语言的特点
(2) 封装
• 类是属性和方法的集合,为了实现某项功能而定 义类后,开发人员并不需要了解类体内每行代码 的具体涵义,只需通过对象来调用类内某个属性 或方法即可实现某项功能,这就是类的封装。
• 封装提供了外界与对象进行交互的控制机制,设
计和实施者可以公开外界需要直接操作的属性和
• 例如:某个对象,其基类为“笔”,在调用它的“写”
方法时,程序会自动判断出它的具体类型,如果是毛
笔,则调用毛笔类对应的“写”方法,如果是铅笔,
则调用铅笔类对应的“写”方法。
-
9
2 定义类
• 在C#中,“类”是一种数据结构,它可以包含数据成员 (常量和字段)、函数成员(方法、属性、事件、索引器、
运算符、构造函数、析构函数)。
由基类中继承而来的、与基类中同名的成员。
(3) 在使用public、protected、internal和private这些类修饰符时,要注意这些类 修饰符不仅表示所定义类的访问特性,而且还表明类中成员声明中的访问特 性,并且它们的可用性也会对派生类造成影响。
(4) 抽象类修饰符abstract和密封类修饰符sealed都是受限类修饰符。
-
14
2.2 类的声明
• 以上的类修饰符可以两个或多个组合起来使用,但需要注意下面几点: (1) 在一个类声明中,同一类修饰符不能多次出现,否则会出错。 (2) new类修饰符仅允许在嵌套类中表示类声明时使用,表明类中隐藏了
//香蕉类中其他的属性和方法 }
-
6
1.2 面向对象语言的特点
(2) 封装
• 类是属性和方法的集合,为了实现某项功能而定 义类后,开发人员并不需要了解类体内每行代码 的具体涵义,只需通过对象来调用类内某个属性 或方法即可实现某项功能,这就是类的封装。
• 封装提供了外界与对象进行交互的控制机制,设
计和实施者可以公开外界需要直接操作的属性和
• 例如:某个对象,其基类为“笔”,在调用它的“写”
方法时,程序会自动判断出它的具体类型,如果是毛
笔,则调用毛笔类对应的“写”方法,如果是铅笔,
则调用铅笔类对应的“写”方法。
-
9
2 定义类
• 在C#中,“类”是一种数据结构,它可以包含数据成员 (常量和字段)、函数成员(方法、属性、事件、索引器、
运算符、构造函数、析构函数)。
由基类中继承而来的、与基类中同名的成员。
(3) 在使用public、protected、internal和private这些类修饰符时,要注意这些类 修饰符不仅表示所定义类的访问特性,而且还表明类中成员声明中的访问特 性,并且它们的可用性也会对派生类造成影响。
(4) 抽象类修饰符abstract和密封类修饰符sealed都是受限类修饰符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、面向对象语言 优点:
使程序能够比较直接地反映问题域的本来面目,软件 开发人员能够利用人类认识事物所采用的一般思维方 法来进行ห้องสมุดไป่ตู้件开发。
1.2 程序设计方法
1、结构化程序设计方法 设计思路
自顶向下、逐步求精。采用模块分解与功能抽象,自 顶向下、分而治之。
程序结构:
按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一
ab=edge(x1,x2,y1,y2); 长 ac=edge(x1,x3,y1,y3); bc=edge(x2,x3,y2,y3); s=(ab+ac+bc)/2; 长和的一半 area=sqrt(s*(s-ab)*(s-ac)*(s-bc)); //计算面积 cout<<“area= ”<<area<<‘\n’; 三角形面积 return 0 }
1.1 计算机程序设计语言的发展
1、计算机程序 计算机的工作是用程序来控制的 程序是指令的集合。 指令是计算机可以识别的命令。
1.1 计算机程序设计语言的发展
2、机器语言与汇编语言 由计算机硬件系统可以识别的二进制指令组成
的语言称为机器语言。
计算机发展的初期,软件工程师们只能用机器语言来编 写程序。这一阶段,在人类的自然语言和计算机编程 语言之间存在着巨大的鸿沟。
1.2 程序设计方法
3、面向对象程序设计方法 设计思路:
将数据及对数据的操作方法封装在一起,作为一个相 互依存、不可分离的整体——对象。
对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信
1.2 程序设计方法
3、面向对象程序设计方法 优点:
汇编语言将机器指令映射为一些可以被人读懂 的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩小,但仍 与人类的思维相差甚远。因为它的抽象层次太低,程 序员需要考虑大量的机器细节。
1.1 计算机程序设计语言的发展
3、高级语言 高级语言屏蔽了机器的细节,提高了语言的抽
象层次,程序中可以采用具有一定含义的数据 命名和容易理解的执行语句。这使得在书写程 序时可以联系到程序所描述的具体事物。
4
教学课时与考核
教学课时安排
总学时:48学时 理论授课:30学时 习题课:2学时 实验课:16学时
考核
出勤:10% 实验:20% 期末考试:70%
5
第一章 概述
青岛理工大学
本章主要内容
1.1 计算机程序设计语言的发展 1.2 程序设计方法 1.3 面向对象程序设计的基本特点 1.4 简单的C++程序
模块内部均是由顺序、选择和循环三种基本结构组成 其模块化实现的具体方法是使用子程序。
1.2 程序设计方法
2、结构化程序设计方法 优点:
有效地将一个较复杂的程序系统设计任务分解成许多 易于控制和处理的子任务,便于开发和维护
缺点:
可重用性差、数据安全性差、难以开发大型软件和图 形界面的应用软件
程序模块间的关系更为简单,程序模块的独立性、数 据的安全性就有了良好的保障。
通过继承与多态性,可以大大提高程序的可重用性, 使得软件的开发和维护都更为方便。
【例1-1】用结构化程序设计方法计算三角形的面积(已知一个三角形的3 个顶点的坐标)
#include<iostream>
//包含输入/输出流
1.1 计算机程序设计语言的发展
4、面向对象语言 出发点:
更直接地描述客观世界中存在的事物(对象)以及它们 之间的关系。
特点:
是高级语言。 将客观事物看作具有属性和行为的对象。 通过抽象找出同一类对象的共同属性和行为,形成类 通过类的继承与多态实现代码重用
1.1 计算机程序设计语言的发展
长
return len;
}
int main()
{
double x1,x2,x3,y1,y2,y3,s,area,ab,ac,bc; //说明变量
cin>>x1>>x2>>x3;
//输
入坐标值
cin>>y1>>y2>>y3;
【例1-1】用结构化程序设计方法计算三角形的面积(已知一个三角形的3 个顶点的坐标)
//求边 //求边 //输出
【例1-2】用面向对象的程序设计方法计算矩形面积
#include <iostream>
using namespace std;
//类的声明
class RectangleArea
{
public:
void SetData(float L,float W);
//输入长、宽
值
float ComputeArea();
谭浩强.C++面向对象程序设计.北京:清华大学出版 社,2006.1
2
有关C++面向对象的编程学习网站
课程培养目标
建立基本的计算机程序设计概念体系和基本的 程序设计方法。
理解和掌握C++语言的基本语法和语义,初步 理解面向对象的思想,初步掌握面向对象程序 设计的方法。
逐步提高学生的编程能力和调试程序的能力。 为后面的学习打好基础。
using namespace std;
#include<math.h>
//包含数学函数的头文件
double edge(double x1,double x2,double y1,double y2)
{ //求三角形的边长
double len;
len=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); //求边
C++ 面向对象程序设计
课程基本信息
课本: C++面向对象程序设计,李兰,任凤华等, 2014,
第二次印刷。
参考书籍:
Bruce Eckel.Thinking in C++ (2nd Edition).北 京:机械工业出版社,2006.10
郑莉.C++语言程序设计(第3版).北京:清华大学 出版社,2005.7
//计算面积
void OutputArea();
//输出面积
private:
float length,width,area;
//定义长、宽、面积
};
void RectangleArea::SetData(float L,float W)
{
length=L;
width=W;
}
【例1-2】用面向对象的程序设计方法计算矩形面积
使程序能够比较直接地反映问题域的本来面目,软件 开发人员能够利用人类认识事物所采用的一般思维方 法来进行ห้องสมุดไป่ตู้件开发。
1.2 程序设计方法
1、结构化程序设计方法 设计思路
自顶向下、逐步求精。采用模块分解与功能抽象,自 顶向下、分而治之。
程序结构:
按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一
ab=edge(x1,x2,y1,y2); 长 ac=edge(x1,x3,y1,y3); bc=edge(x2,x3,y2,y3); s=(ab+ac+bc)/2; 长和的一半 area=sqrt(s*(s-ab)*(s-ac)*(s-bc)); //计算面积 cout<<“area= ”<<area<<‘\n’; 三角形面积 return 0 }
1.1 计算机程序设计语言的发展
1、计算机程序 计算机的工作是用程序来控制的 程序是指令的集合。 指令是计算机可以识别的命令。
1.1 计算机程序设计语言的发展
2、机器语言与汇编语言 由计算机硬件系统可以识别的二进制指令组成
的语言称为机器语言。
计算机发展的初期,软件工程师们只能用机器语言来编 写程序。这一阶段,在人类的自然语言和计算机编程 语言之间存在着巨大的鸿沟。
1.2 程序设计方法
3、面向对象程序设计方法 设计思路:
将数据及对数据的操作方法封装在一起,作为一个相 互依存、不可分离的整体——对象。
对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信
1.2 程序设计方法
3、面向对象程序设计方法 优点:
汇编语言将机器指令映射为一些可以被人读懂 的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩小,但仍 与人类的思维相差甚远。因为它的抽象层次太低,程 序员需要考虑大量的机器细节。
1.1 计算机程序设计语言的发展
3、高级语言 高级语言屏蔽了机器的细节,提高了语言的抽
象层次,程序中可以采用具有一定含义的数据 命名和容易理解的执行语句。这使得在书写程 序时可以联系到程序所描述的具体事物。
4
教学课时与考核
教学课时安排
总学时:48学时 理论授课:30学时 习题课:2学时 实验课:16学时
考核
出勤:10% 实验:20% 期末考试:70%
5
第一章 概述
青岛理工大学
本章主要内容
1.1 计算机程序设计语言的发展 1.2 程序设计方法 1.3 面向对象程序设计的基本特点 1.4 简单的C++程序
模块内部均是由顺序、选择和循环三种基本结构组成 其模块化实现的具体方法是使用子程序。
1.2 程序设计方法
2、结构化程序设计方法 优点:
有效地将一个较复杂的程序系统设计任务分解成许多 易于控制和处理的子任务,便于开发和维护
缺点:
可重用性差、数据安全性差、难以开发大型软件和图 形界面的应用软件
程序模块间的关系更为简单,程序模块的独立性、数 据的安全性就有了良好的保障。
通过继承与多态性,可以大大提高程序的可重用性, 使得软件的开发和维护都更为方便。
【例1-1】用结构化程序设计方法计算三角形的面积(已知一个三角形的3 个顶点的坐标)
#include<iostream>
//包含输入/输出流
1.1 计算机程序设计语言的发展
4、面向对象语言 出发点:
更直接地描述客观世界中存在的事物(对象)以及它们 之间的关系。
特点:
是高级语言。 将客观事物看作具有属性和行为的对象。 通过抽象找出同一类对象的共同属性和行为,形成类 通过类的继承与多态实现代码重用
1.1 计算机程序设计语言的发展
长
return len;
}
int main()
{
double x1,x2,x3,y1,y2,y3,s,area,ab,ac,bc; //说明变量
cin>>x1>>x2>>x3;
//输
入坐标值
cin>>y1>>y2>>y3;
【例1-1】用结构化程序设计方法计算三角形的面积(已知一个三角形的3 个顶点的坐标)
//求边 //求边 //输出
【例1-2】用面向对象的程序设计方法计算矩形面积
#include <iostream>
using namespace std;
//类的声明
class RectangleArea
{
public:
void SetData(float L,float W);
//输入长、宽
值
float ComputeArea();
谭浩强.C++面向对象程序设计.北京:清华大学出版 社,2006.1
2
有关C++面向对象的编程学习网站
课程培养目标
建立基本的计算机程序设计概念体系和基本的 程序设计方法。
理解和掌握C++语言的基本语法和语义,初步 理解面向对象的思想,初步掌握面向对象程序 设计的方法。
逐步提高学生的编程能力和调试程序的能力。 为后面的学习打好基础。
using namespace std;
#include<math.h>
//包含数学函数的头文件
double edge(double x1,double x2,double y1,double y2)
{ //求三角形的边长
double len;
len=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); //求边
C++ 面向对象程序设计
课程基本信息
课本: C++面向对象程序设计,李兰,任凤华等, 2014,
第二次印刷。
参考书籍:
Bruce Eckel.Thinking in C++ (2nd Edition).北 京:机械工业出版社,2006.10
郑莉.C++语言程序设计(第3版).北京:清华大学 出版社,2005.7
//计算面积
void OutputArea();
//输出面积
private:
float length,width,area;
//定义长、宽、面积
};
void RectangleArea::SetData(float L,float W)
{
length=L;
width=W;
}
【例1-2】用面向对象的程序设计方法计算矩形面积