C++面向对象编程:先调用再赋值解析
需积分: 22 90 浏览量
更新于2024-08-23
收藏 8.66MB PPT 举报
"先调用再赋值-C++面向对象程序设计教程(谭浩强版)"
在C++编程中,"先调用再赋值"是一个关于函数返回引用和操作对象的重要概念。在这个例子中,我们看到一个名为`f`的函数,它接收一个整数参数`x`,并将`a`的值与`x`相加,然后返回`a`的引用。`main`函数中的代码展示了如何使用这个函数,以及这个引用返回如何影响变量的值。
首先,`f(t)`被调用并打印结果,`t`的值(5)被传递给`f`,`a`的初始值是4,因此`a`变为9(4+5),并输出9。
接着,`f(t)=20;`这行代码实际上是将20赋值给了`a`,因为`f(t)`返回的是`a`的引用,所以`a`现在等于20,再次输出`f(t)`时,结果是25(20+5)。
然后,`t=f(t);`这行代码将`f(t)`的结果赋给`t`,此时`t`也成为了`a`的引用,因此`t`的值变为25,因为`a`就是25。
最后,再次调用`f(t)`,由于`t`现在等于25,`a`的值会增加25(25+25),变为50,然后输出60(50+5),此时`a`和`t`都指向同一个内存位置,所以`a`也是50。
这段代码展示了C++中函数返回引用的特性,允许我们直接通过函数调用来修改原变量的值,提高了代码的灵活性。然而,这也需要开发者对引用有深入理解,以避免可能导致的副作用,比如意外修改了不应该改变的值。
在C++中,引用是一种特殊的指针,一旦引用被初始化指向一个对象,就不能改变引用的对象。引用不像指针那样可以被设为NULL,它始终是有效的,必须在声明时就初始化,且必须指向一个已经存在的对象。
C++语言的发展历程可以从这个PPT的第3页看出,从BCPL到B语言,再到C语言,最后发展出C++,C++是为了解决C语言的一些局限,特别是在面向对象编程上的不足,它引入了类、对象、继承、多态等概念,使得程序设计更加模块化和易于维护。
C++语言的特点包括:结构化编程,既支持高级语言的抽象,又保留了低级语言的直接性;丰富的运算符,包括位运算;良好的可移植性;以及对程序员自由度的高允许度,这使得C++既能编写系统级软件,也能编写应用软件。虽然对于初学者,C++的调试可能会有些挑战,但一旦熟悉,其强大的功能和灵活性将极大地提升编程效率。
2022-11-11 上传
2009-03-05 上传
157 浏览量
点击了解资源详情
2010-12-30 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
花香九月
- 粉丝: 28
- 资源: 2万+
最新资源
- PureMVC AS3在Flash中的实践与演示:HelloFlash案例分析
- 掌握Makefile多目标编译与清理操作
- STM32-407芯片定时器控制与系统时钟管理
- 用Appwrite和React开发待办事项应用教程
- 利用深度强化学习开发股票交易代理策略
- 7小时快速入门HTML/CSS及JavaScript基础教程
- CentOS 7上通过Yum安装Percona Server 8.0.21教程
- C语言编程:锻炼计划设计与实现
- Python框架基准线创建与性能测试工具
- 6小时掌握JavaScript基础:深入解析与实例教程
- 专业技能工厂,培养数据科学家的摇篮
- 如何使用pg-dump创建PostgreSQL数据库备份
- 基于信任的移动人群感知招聘机制研究
- 掌握Hadoop:Linux下分布式数据平台的应用教程
- Vue购物中心开发与部署全流程指南
- 在Ubuntu环境下使用NDK-14编译libpng-1.6.40-android静态及动态库