C++面向对象:实例化对象与全局区详解

需积分: 26 3 下载量 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++的内存模型和面向对象编程的实践。