- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言程序设计》第十一章面向对象的程序设计
第十一章 面向对象的程序设计
第十一章 面向对象的程序设计
11.1 基本要求
掌握面向对象的程序设计思想
掌握 C++输入输出、变量引用、作用域运行符、内联函数、函数重载。
深刻理解类与对象概念,掌握类的声明与对象声明的方法,了解构造函数
与析构函数。
理解继承与派生概念,掌握建立派生类的方法。
掌握基本的 C++语句 cout、cin 等。
11.2 内容小结
本章在介绍面向对象编程思想的基础上,讲授了 C++对 C 所进行的扩展,包括:
(1)允许使用以//开始的注释。
(2 )提供标准输入输出流cout 和 cin,它们不必指定输入输出格式字符,灵活方便。
(3 )“引用”(reference )是一个别名,声明引用的过程也就是为某个变量建立别
名的过程,C++ 中引入“引用”的主要目的是为了在函数间传递数据。
(4 )作用域又称作用范围,一个变量只能在其声明的有效作用域内才能使用。如果
要输出非局部变量的值,C++提供了作用域运算符::,它能指定所需要的作用域。
(5 )使用内联函数时编译器在编译时并不生成真正的函数,而是将程序中出现的每
一个内联函数调用表达式直接用该内联函数的函数体替换。使用内联函数可提高效
率,但同时会增加程序的代码量。
(6 )可以利用函数重载实现用同一函数名代表功能类似的函数,即:建立多个同名
的函数,但函数的形参表互不相同(形参个数或类型不同),函数类型也互不相同。
(7 )可以使用带缺省值的参数的函数,使函数调用更加灵活。
(8 )C++语言引入了类的概念,它能将不同的属性和不同的行为捆绑在一个集合中,
用于描述某件事物的共同特性。而 C++还引入了对象的概念,用于指定特定的事物
实体。
(9 )类本质上是用户自定义数据类型,由数据变量和函数共同构成,其中:变量称
为成员变量或数据成员,函数称为成员函数或方法。
(10)构造函数的函数名与类名相同,参数根据需要可有可无,但一定不能指定返
回值类型(包括void ),构造函数声明时虽然属于public ,但只能在创建类的对象时
140
第十一章 面向对象的程序设计
由系统自动调用,对对象进行初始化,程序的其他部分不能调用。
(11)析构函数(destructor )作用与构造函数正相反,在对象终止时由系统自动调
用,做“善后清理”工作,以释放分配给对象的内存。析构函数的函数名应为类名
前加“~ ”。
析构函数没有参数,也不能为之指定返回值类型。一个类内只能声明一个析构
函数,和构造函数相同,它是公有的成员函数,如果类内没有析构函数的声明,C++
编译器会自动生成一个带空函数体的析构函数。
(12)派生出的新类被称为派生类或子类,而被继承的类称为基类或父类,一个基
类可派生出多个派生类,一个派生类也可以由多个基类派生而来,派生类型有 3 种:
public 、private 、protected 。
11.3 典型例题
例题 11-1 任意给定一合法日期(例如:2003 年 12 月 13 日),可以求出
这一日期是星期几,它的前一天星期几,后一天星期几。
//首先定义类
#include iostream.h
struct Date //定义结构 Date ,包含年、月、日
{
int month;
int day;
int year;
};
class TdateType
{
public:
TdateType(Date b); //构造函数
void Modify(int m=10,int d=1,int y=2002); //带缺省值参数的函数
void Next(); //指定日期的后一天
void Previous();
文档评论(0)