C++程序设计:指针访问私有数据成员解析
需积分: 9 96 浏览量
更新于2024-08-19
收藏 8.66MB PPT 举报
"《利用指针访问私有数据成员-C++程序设计(谭浩强完整版)》章节,主要介绍了如何在C++中利用指针访问类的私有数据成员,以及C++语言的一些基本特点和历史背景。"
在C++编程中,类的私有数据成员通常不允许外部直接访问,以确保数据的安全性和封装性。然而,在某些情况下,我们需要在类的外部设置或获取这些私有数据成员的值。示例代码展示了如何通过公有成员函数实现这一目的:
```cpp
class Test {
int x, y; // 私有数据成员
public:
void Setxy(int a, int b) { x = a; y = b; } // 设置私有成员的方法
void Getxy(int *px, int *py) {*px = x; *py = y;} // 提取私有成员值的方法
void Printxy(void) { cout << "x=" << x << "\t" << "y=" << y << endl; } // 打印私有成员的方法
};
int main(void) {
Test p1, p2;
p1.Setxy(3, 5); // 使用Setxy方法设置私有成员
int a, b;
p1.Getxy(&a, &b); // 使用Getxy方法获取私有成员值
cout << a << "\t" << b << endl;
}
```
在这个例子中,`Test` 类有两个私有数据成员 `x` 和 `y`。`Setxy()` 和 `Getxy()` 是公共成员函数,它们分别用于设置和获取私有数据成员的值。在 `main()` 函数中,我们创建了一个 `Test` 类的实例 `p1`,并通过 `Setxy()` 设置了 `x` 和 `y` 的值,然后使用 `Getxy()` 将这些值赋给了变量 `a` 和 `b`。
C++ 语言源自 C 语言,由 B 和 BCPL 发展而来,旨在提供一种既能进行系统级编程,又能进行应用程序开发的强大工具。C++ 在 C 语言的基础上增加了面向对象编程的概念,如类、对象、封装、继承和多态等。C++ 的特点包括:
1. 结构化编程:C++ 是一种结构化编程语言,允许编写清晰、模块化的代码。
2. 高级与低级语言特性结合:C++ 支持丰富的运算符,包括位运算,同时具备高级语言和汇编语言的特点。
3. 可移植性:C++ 代码可以在多种不同的硬件和操作系统平台上运行,无需或仅需少量修改。
4. 灵活的语法:虽然这使得 C++ 对程序员的要求较高,但也意味着它能支持更复杂的编程策略和高效的程序设计。
然而,对于初学者来说,C++ 的语法结构相对宽松,可能导致程序调试较为困难。熟练掌握 C++ 需要深入理解其语法规则和面向对象编程原理。
114 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
慕栗子
- 粉丝: 19
- 资源: 2万+
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录