C++程序设计:指针访问私有数据成员解析

需积分: 9 8 下载量 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++ 需要深入理解其语法规则和面向对象编程原理。