C++构造函数初始化:常量成员与引用成员
需积分: 35 31 浏览量
更新于2024-08-23
收藏 2.25MB PPT 举报
"C++课程,涉及构造函数初始化常数据成员和引用成员的讲解,由吉林大学软件学院提供,强调了C++程序设计的基础知识和面向对象编程的概念。"
在C++编程中,构造函数是用于初始化类对象的特殊函数。在给定的课件中,重点讨论了如何在构造函数中初始化常数据成员(const成员)和引用成员(reference成员)。常数据成员是不能在对象创建后修改的变量,它们必须在定义时或者构造函数中进行初始化,并且只能初始化一次。引用则必须在声明时或构造函数中绑定到一个已存在的对象,它不是新的存储位置,而是现有对象的别名。
例如,类`Student`中有两个成员,一个`const int i`和一个`int &j`。在构造函数`Student(int s, int &k)`中,`i`被初始化为`s`,`j`被初始化为`k`。这里,`i`是一个常量数据成员,不能在后续的代码中更改其值;而`j`是一个引用成员,它依附于`c`这个独立变量。注意,引用成员不能直接赋值,必须通过引用符号`&`进行初始化。
在`main`函数中,我们创建了一个`Student`对象`s`,并传递了两个整数`9818`和`123`。`s`的构造函数将`9818`赋值给了常量数据成员`i`,将`123`的引用赋给了引用成员`j`。然后,`s.p()`函数会输出引用成员`j`所绑定的变量`c`的值,即`123`。
C++是由C语言发展而来的,它在C的基础上增加了对面向对象编程的支持。C语言以其灵活性和高效性著称,但随着程序规模的扩大,C语言在模块化和代码重用方面存在局限性。C++通过引入类、对象、继承、多态等概念,解决了这些问题,成为一种混合型语言,既支持过程性编程,也支持面向对象编程。
面向过程编程关注事件的处理步骤,通过函数一步步实现。而面向对象编程则以对象为核心,对象包含数据(属性)和操作数据的方法(行为),通过类来抽象和封装这些特性,实现代码的重用和模块化。
在C++中,继承允许创建新的类(派生类)基于已有的类(基类),从而实现代码的重用和扩展。通过继承,派生类可以继承基类的属性和行为,同时也可以添加新的特性。这在设计大型、复杂系统时特别有用,因为它促进了代码的组织和维护。
2021-09-30 上传
2010-12-22 上传
2009-03-11 上传
点击了解资源详情
2023-06-30 上传
2009-07-14 上传
2018-12-19 上传
点击了解资源详情
点击了解资源详情
受尽冷风
- 粉丝: 29
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍