C++指针访问私有数据成员详解:谭浩强《程序设计》案例
需积分: 9 38 浏览量
更新于2024-08-19
收藏 8.66MB PPT 举报
在C++程序设计中,谭浩强的《C++程序设计谭浩强完成版》PPT中详细讲解了如何利用指针访问私有数据成员这一核心概念。在类的定义中,如`class Test`所示,它包含两个私有成员变量`int x`和`int y`。这些变量是不能直接从类的外部访问的,因为它们被声明为私有(private),以确保数据封装。
`Test`类有两个公有方法:`Setxy()`和`Getxy()`。`Setxy(int a, int b)`用于设置`x`和`y`的值,`Getxy(int *px, int *py)`则是用来获取`x`和`y`的值,通过指针参数`px`和`py`传递。这里的关键在于,尽管`x`和`y`是私有变量,但通过指针可以间接访问,实现数据的封装和解封装。
在`main()`函数中,我们创建了`Test`类型的对象`p1`和`p2`,然后调用`p1.Setxy(3, 5)`设置了初始值。接下来,定义了两个整型变量`a`和`b`,并将`p1`的`x`和`y`值通过`&a`和`&b`(取址运算符)传递给`Getxy()`方法。这样,`*px`和`*py`实际上就是`x`和`y`的地址,所以`p1.Getxy(&a, &b)`会将`p1`的`x`赋值给`a`,`y`赋值给`b`。
最后,`cout`语句输出了`a`和`b`的值,即3和5,验证了数据的正确传递。在这个过程中,`&a`和`&b`作为指针参数起到了桥梁作用,使得我们能够在保持数据封装的前提下,实现了私有成员的间接访问。
这个例子展示了C++中的指针在处理私有数据成员时的重要性和灵活性。理解并熟练运用指针,能够更好地管理类的内部数据,提高代码的可维护性和复用性。同时,这也体现了C++语言对于数据封装的重视,以及面向对象编程中封装、继承和多态等核心概念的实际应用。
237 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-10-24 上传
韩大人的指尖记录
- 粉丝: 33
- 资源: 2万+
最新资源
- webservice
- EXTJS 中文手册
- ubuntu8.04速成手册1.0
- Installing & Configuring Developing With XAMPP
- c#中treeview的使用方法
- 《华为认证网络工程师》自测题
- c#中进度条的使用技巧
- cn_foundation_Actionscript3.0_Animation
- R1762_R2632_R2700 RGNOS10.2配置指南_第四部分 应用协议配置指南
- 一个中专生的程序员之路
- R1762_R2632_R2700 RGNOS10.2配置指南_第三部分 IP地址与服务配置指南
- 详解西门子间接寻址详解西门子间接寻址
- 微 软 C 编 程 精 粹
- MyEclipse 6 Java 开发中文教程
- C#完全手册.pdf
- VARIANT的用法