- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 面向对象的程序设计
第十一章 面向对象的程序设计
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();
您可能关注的文档
- [HiC2011]一种支持实时复杂查询与分(王树鹏).pdf
- [MATLAB数据归一化汇总(最全面教程).doc
- [VC]深入分析MFC中CArray类.pdf
- [图文教程]VS2010数据库的导入及导出简单教程.doc
- [原创]我考研攻略-----复习3个多月总分331,西综215.doc
- _JSF入门环境配置XML配置与标签使用详细介绍以及发布部署.ppt
- _NET_Compact_Framework_控件的使用及开发.pdf
- _vb6.0数据类型、常量、变量和表达式.doc
- _不折腾_的不翻译_零翻译_陌生化及话语解释权.pdf
- _光纤的连接及耦合.ppt
- 2026年江苏海事职业技术学院单招(计算机)考试参考题库附答案.docx
- 2025年那曲县辅警招聘考试真题最新.docx
- 2026年毛概期末考试试题库100道(精选题).docx
- 2026年毛概期末考试试题库100道及完整答案(夺冠).docx
- 2026年拉孜县辅警招聘考试备考题库推荐.docx
- 2026年金山职业技术学院单招(计算机)测试备考题库附答案.docx
- 2025年北川羌族自治县辅警招聘考试真题汇编附答案.docx
- 2025年绛县辅警招聘考试备考题库必考题.docx
- 2025年嵊泗县辅警招聘考试备考题库及答案1套.docx
- 2026年汕尾职业技术学院单招(计算机)考试备考题库附答案.docx
原创力文档


文档评论(0)