C++程序设计:类指针的使用详解
"定义类的指针及如何用指针来引用对象-C++程序设计" 在C++编程中,指针是强大的工具,特别是在处理对象和类时。本资源主要讲解了如何定义类的指针以及如何使用这些指针来引用和操作对象。下面将详细阐述相关知识点。 首先,类(class)是C++中的一个核心概念,它定义了一组数据成员(如变量x和y)和成员函数(如Sum, Set, Print)。在给出的代码示例中,`class A`定义了一个名为A的类,其中包含两个浮点型变量x和y,以及三个公共成员函数:Sum用于返回x和y的和,Set用于设置x和y的值,Print用于打印x和y的值。 ```cpp class A{ float x, y; public: float Sum() { return x + y; } void Set(float a, float b) { x = a; y = b; } void Print() { cout << "x=" << x << '\t' << "y=" << y << endl; } }; ``` 接下来,我们定义了一个名为`main`的函数,这是C++程序的入口点。在`main`函数中,我们创建了两个A类的对象a1和a2,然后定义了一个指向A类的指针`p`: ```cpp A a1, a2; A *p; // 定义一个指向类A的指针 ``` 通过`&`运算符,我们可以获取对象的地址,将其赋值给指针。这样,指针`p`就指向了对象a1: ```cpp p = &a1; // 给指针p赋值,使其指向a1 ``` 一旦有了指向对象的指针,我们就可以通过指针调用对象的成员函数。在C++中,我们使用`->`运算符来完成这个操作。例如,`p->Set(2.0, 3.0)`通过指针p调用a1的Set函数,设置x和y的值为2.0和3.0。同样,`p->Print()`会打印a1的x和y的值,而`cout << p->Sum() << endl;`则会输出a1的x和y之和。 此外,我们还可以直接调用对象a2的成员函数,例如`a2.Set(10.0, 20.0)`和`a2.Print()`。 这段代码中没有出现`Getxy()`、`Printxy()`这样的成员函数,这可能是描述中的错误或遗漏。在C++中,通常会用`Get`和`Set`这样的命名约定来访问和修改对象的私有数据成员,而`Printxy`可能是指一个同时打印x和y的函数,但这些函数并未在提供的代码中定义。 C++程序设计中,谭浩强编著的书籍和清华大学出版社的课件制作是学习C++的经典资源。它们详细介绍了C++的基础知识,包括类、指针以及程序设计的基本概念。C++语言的特性,如结构化编程、丰富的运算符、数据结构的灵活性以及程序的可移植性,使得它成为广泛使用的编程语言之一。虽然C++的语法结构相对宽松,对于初学者来说可能有一定的学习曲线,但它强大的功能和高效的执行性能使得掌握C++成为许多程序员的必修技能。
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/f314b1a81b97400f839c4456aee96e83_weixin_42193786.jpg!1)
- 粉丝: 23
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)