C++类与对象:this指针与常成员函数详解
需积分: 0 34 浏览量
更新于2024-04-16
收藏 551KB PDF 举报
本章主要讲解了类与对象的概念以及this指针的作用。在面向对象方法与C程序设计中,每个对象都有自己独立的数据空间,但是类的成员函数只存储一份,为所有对象共享。因此,在通过对象调用非静态成员函数时,需要将调用对象的地址传递给成员函数,以确定成员函数要处理的数据是哪一个对象的数据。成员函数通过this指针接收调用对象的地址,因此每个成员函数(非静态的)都有一个隐含的指针变量this。
声明常成员函数的格式如下:类型 成员函数名(参数表) const;
在编写代码时,通常会以类的对象为调用者,调用类的成员函数来操作对象的数据。例如,定义一个Clock类,其中包括私有成员变量hour、minute和second,以及一个公有成员函数setClock(int h, int m, int s)用于设置时间。在setClock函数中,通过this指针来访问对象的成员变量,实现对对象数据的操作。
示例代码如下:
```
class Clock {
private:
int hour, minute, second;
public:
void setClock(int h, int m, int s);
};
void Clock::setClock(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
void Clock::setClock(Clock *this, int h, int m, int s) {
this->hour = h;
this->minute = m;
this->second = s;
}
Clock c1, c2;
```
通过上面的代码示例,可以看到this指针在成员函数setClock中的应用。在调用setClock函数时,会自动传递调用对象的地址给函数,从而实现对对象数据的修改。这种机制保证了对象之间的数据操作独立性,同时也确保了成员函数可以正确操作对应的对象数据。
总的来说,this指针在面向对象方法与C程序设计中扮演着重要的角色,通过this指针,成员函数能够准确地定位对象数据,实现对对象的操作。同时,this指针也体现了对象的独立性和封装性,确保了代码的可靠性和可维护性。对于C程序设计学习者来说,理解和熟练应用this指针是掌握面向对象编程的重要一步。
2023-02-27 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
南小鹏
- 粉丝: 38
- 资源: 289
最新资源
- 2-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- C++ IPHelper IP输入控件
- alcohol-or-gasoline:具有功能的应用程序,根据用户为每种物质输入的价格,使用酒精或汽油是否更有利,请回答用户。 在此应用程序中,全局变量和局部变量的原始类型发生了变化,并且采用了对它们之间建立联系的方法承担全部责任的原则
- 加减法自动生成工具@QT
- fullstack-react-graphql:在后端使用GraphQL和MongoDB在前端使用React.js制作的CRUD应用程序
- 基于Robert交叉梯度的图像锐化.zip
- anoninja
- sparrow:一种c风格的玩具语言,用llvm实现
- 1-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- graphein:蛋白质图库
- CV_MarieLATASTE_V2:CV_MarieLATASTE的第二版
- (修)09-07 罗灿丽(4).zip
- VC++在程序中用代码注册和卸载ocx控件
- riru_storage_redirect:存储隔离(存储重定向)是一个为应用程序提供隔离存储功能的应用程序。 它可以防止设计不当的应用程序使您的存储混乱,并让您控制文件可以访问的文件
- Documentation:用于在我们的官方主页上生成文档的文件
- episode-47:第 47 集 - 使用 Ansible 进行零停机部署(第 44 部分)