C++面向对象:实例化对象与全局区详解
需积分: 26 129 浏览量
更新于2024-08-19
收藏 17.18MB PPT 举报
在面向对象程序设计及C++的学习中,一个关键的概念是实例化对象和内存区域的理解。本文档通过实例演示了在全局区中创建和操作对象的过程。全局区(也称为静态存储区或常量存储区)是程序运行期间存在的,生命周期贯穿整个程序,即使函数结束也会保留的对象存储区域。
首先,作者定义了一个名为`s_stu1`的静态Student对象,这使得`s_stu1`在`main`函数外部也是可见的,且仅实例化一次。当调用`s_stu1.set("Lily")`和`s_stu1.display()`时,这个静态对象会被初始化并显示其名字。
接着,`s_stu2`是一个普通变量,表示的是栈上的对象,通过指针`p`和`&r`对其进行引用。通过`(*p).setName("Jack")`和`p->display()`,我们可以修改`s_stu2`的值并显示出来。这里体现了指针作为对象引用的重要性。
值得注意的是,静态变量`s_stu1`和`s_stu2`在内存上的区别,静态变量在整个程序运行期间只实例化一次,而`s_stu2`则每次函数调用时都会分配新的栈空间。通过`r.set("Jimi")`和`r.display()`,我们可以看到`r`指向的对象也是`s_stu2`,但不会改变`s_stu1`的值。
C++作为一门通用编程语言,特别适合系统级编程,因为它支持数据抽象、面向对象和泛型编程。它的起源可以追溯到贝尔实验室,经历了三个主要发展阶段,从传统的面向对象语言扩展到包含泛型编程、STL(Standard Template Library,标准模板库)和元编程等特性。
C++在业界享有很高的地位,尤其在对效率有高要求、跨平台应用以及底层开发等领域广泛应用,如嵌入式系统、游戏编程、网络编程和系统级编程。掌握实例化对象和内存区域管理是理解和使用C++进行程序设计的基础,这对于理解程序性能和内存管理至关重要。通过这些实例,学习者可以更深入地了解C++的内存模型和面向对象编程的实践。
2021-09-30 上传
2019-09-06 上传
2022-09-23 上传
2021-02-07 上传
2021-06-29 上传
2020-11-19 上传
2021-04-24 上传
2022-07-25 上传
2018-10-07 上传
猫腻MX
- 粉丝: 20
- 资源: 2万+
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常