- 7
- 0
- 约3.19千字
- 约 33页
- 2015-11-19 发布于广东
- 举报
4.8 定义友元类和友元函数 C++中提供了友元类,在类A中将类B声明为一个友元类,那么在类B中就可以访问类A中的私有数据和方法了。 4.9 const方法 在开发程序时,对于不想改变类成员数据的函数,应将其声明为const方法,这样,编译器会帮助发现错误。 4.10 运算符重载 C++提供了运算符重载的功能,可以在类中重载某个运算符,这样就可以使运算符作用于类对象。 运算符重载的格式为:返回值类型operator运算符参数列表。 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 第4章 面向对象程序设计 4.1 类的定义和实例化 面向对象的程序设计方法则是把数据及处理这些数据的函数封装在一个类中,而使用类的实例则称为对象。 在面向对象程序设计中,将事物的特征和行为组织在一起,便形成了类。 在类中,事物的特征被描述为数据成员,行为被描述为方法。 与面向过程相比,面向对象程序设计具有以下优点: 第一,程序的可维护性好,易于阅读和理解; 第二,程序的易修改性好,可以很容易地修改、添加或删除程序的属性; 第三,重用性好,可以将类和对象保存起来,随时应用到程序中,无需做什么修改。 1.类的声明 类是进行封装和数据隐藏的工具,通过类把逻辑上相关的实体联系起来,并可从外部访问这些实体。 声明一个类,需要使用关键字class,其后是类名,类名后是一个“{”,而后是数据成员和方法,结尾是“}”和分号。 2.对象的声明和实例化 对象是类的实例化。在声明一个类时,并没有为其分配内存空间,只有在实例化一个对象时,才为对象分配空间。 声明一个对象和声明一个整型变量类似。 在定义一个类的对象之后,就可以通过对象访问类的成员了。 在对象之后使用“.”运算符访问类成员。 4.2 类成员的保护 在类的声明时,类的成员(数据和方法)具有安全级别。 常用的安全级别有public、private、protected。 默认情况下,类的成员为私有的(private),私有成员只能在类本身的方法内访问,类的对象不能够访问私有成员,并且私有成员不能够被派生类继承。 公有成员(public)能够被类的所有对象访问,能够被派生类继承。 保护成员(protected)不能够被对象访问,但能够被派生类继承。 在类外部不能访问私有成员和保护成员,只能访问公有成员。 4.3 构造函数的定义及调用 为了进行初始化工作,C++提供了一个特殊的成员函数—构造函数(constructor)。 构造函数是一个与类名相同的方法,可以根据需要设置参数,但不具有返回值,甚至空值也不行。 如果在声明类时,没有提供构造函数,编译器会提供一个默认的构造函数,默认构造函数没有参数,不进行任何操作。 在开发程序时,用户可以自己定义一个默认的构造函数,只要构造函数没有任何参数就可以了。 编译器除了提供默认的构造函数外,还提供了默认的复制构造函数。 在一个函数中,按值传递一个对象或是将对象作为函数的返回值,均会调用类的复制构造函数。 所有的复制构造函数均只有一个参数,即该类的对象的引用。 因为复制构造函数的目的是生成一个对象的拷贝,所以参数是类的对象的常量引用,即在复制构造函数中不允许修改参数。 当按值传递一个对象作为函数参数或者函数返回一个对象时,编译器将调用复制构造函数重新构造一个对象。 总的来说,构造函数的定义和其他方法的定义相同,但需要注意以下几点。 (1)构造函数不能指定返回类型和返回值。 (2)一个类可以有多个构造函数,如果没有定义构造函数,编译器会自动为类创建一个默认的构造函数。 (3)构造函数可以没有参数,也可以有多个参数,多个构造函数之间就是靠参数的个数和类型来区分的。 4.4 析构函数的定义及调用过程分析 析构函数是与构造函数是相对的,它是在对象被撤销后清除并释放所分配的内存。 析构函数与类同名,只是前面有一个“~”号。
您可能关注的文档
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第7章 第7章 窗体界面设计.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第8章 第8章 文件操作.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第9章 第9章 程序设计基本结构.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第10章 第10章 数据库技术.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第11章 第11章 OLE控件与API函数简介.ppt
- 新Visual Basic软件开发技术 教学课件 李洛 罗佳 吴绍根 陈建潮 ActiveX DLLEXE 第6章.ppt
- 新Visual Basic软件开发技术 教学课件 李洛 罗佳 吴绍根 陈建潮 ActiveX 控件 第7章.ppt
- 新Visual Basic软件开发技术 教学课件 李洛 罗佳 吴绍根 陈建潮 VB多媒体编程 第3章.ppt
- 新Visual Basic软件开发技术 教学课件 李洛 罗佳 吴绍根 陈建潮 高级界面设计技术 第2章.ppt
- 新Visual Basic软件开发技术 教学课件 李洛 罗佳 吴绍根 陈建潮 使用注册表 第4章.ppt
最近下载
- 小学数学教学中数学建模思想与生活问题解决课题报告教学研究课题报告.docx
- 中国糖尿病防治指南(2024版)解读-糖尿病相关技术.pptx
- 建筑工程中途退出协议书.doc VIP
- 勾股定理.1勾股定理课件.ppt VIP
- 结直肠癌放疗护理常规.pptx VIP
- 前臂的挤压伤查房.pptx VIP
- 2025至2030中国匹克球市场前景预判与未来发展形势分析报告.docx VIP
- 2026-2030中国匹克球市场前景预判与未来发展形势分析研究报告.docx
- 2025至2030中国匹克球市场前景预判与未来发展形势分析报告.docx VIP
- 4-1输变电工程施工质量验收统一表式(电缆工程电气专业)-2024年版.docx
原创力文档

文档评论(0)