静态成员函数、this指针、对象指针和动态对象使用小结
来源:互联网 发布:什么电台软件好听 编辑:程序博客网 时间:2024/06/06 02:10
先声明一个Time类
·静态成员函数
·静态成员函数就是使用static 关键字声明的成员函数在类外实现时不加static关键字,只有在类内声明时才加static
·静态成员函数是类的一部分,作用是为了处理静态数据成员
没有this指针
·静态成员函数可以直接访问该类的静态成员,但不能直接访问类中的非静态成员
·若想在静态成员fun中使用非静态成员,则必须通过参数传递方式得到对象名,然后通过对象名来访问非静态成员
·this指针
·this指针是一个特殊的隐含指针,它隐含于成员函数,除静态成员函数外每个成员函数都有一个this指针
·this指针的值是当前被调用的成员函数所在的对象的起始地址
·当一个对象调用成员函数,先将对象地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员,则隐式调用this指针
·this调用例子
因为构造函数Time中的参数三second与数据成员second重名,故必须显式的使用this指针
·this指针一般用于返回当前对象自身,同样也可以使用 *this 来标识该成员函数的当前对象
x this->x (*this).x
·this指针是一个const指针,成员函数不能对其赋值
·成员指针1.指向数据成员的指针
数据类型名 *指针变量名;
eg:
2.对象指针
<类名>*<对象指针名>
·通过对象指针访问对象成员
<对象指针名>-><公有成员>
(*<对象指针名>).<公有成员>
3.指向公有成员的指针变量
数据类型名(类名::*指针变量名)(参数列表);
即:指针变量名 = &类名::成员函数名; ----使得指针变量指向一个公有成员的一般形式
eg:
动态对象与指向动态对象变量的指针
·动态对象由new创建动态对象,其格式为
1.new <类名>;
2.new <类名>(初值列表);//初值的个数形式必须与类中的构造函数的参数列表形式相同
用delete删除new建立的对象
delete<指向对象的指针变量名>
当动态对象释放后,指向动态对象的公有数据成员的指针指向的地址不变,但原有数据值发生改变
结果如下:
阅读全文
0 0
- 静态成员函数、this指针、对象指针和动态对象使用小结
- this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。
- this指针?const函数?const对象成员?
- C++之this指针和const对象/成员函数
- This 指针和静态成员函数
- C++:对象数组、对象动态申请和释放、类的定义和实现分开、this指针、常成员函数、时钟
- 成员函数和this指针
- C++调用空指针对象的成员函数——静态绑定与动态绑定
- 实验3 this指针、常量和静态成员和友元函数的使用
- C++对象指针、对象成员和对象成员指针
- 非静态成员函数与this指针
- C++ 常成员函数和常对象以及this指针的重要理解
- 类和对象 , 四个默认成员函数及运算符重载 , 隐含的this指针
- 类和对象(this指针、默认成员函数及运算符的重载)
- 函数指针(全局函数/类成员函数)和函数对象
- 五、类与对象(一)内联成员函数、成员函数重载、类和结构体、this指针
- this指针和对象数组
- C++对象指针和this指针~
- 00.开源项目--git快速开始
- 《实战Java高并发程序设计》读后感
- 【解题报告】【USACO】Your Ride is Here你的飞碟在这儿
- javaApi免费下载
- 有一个很帅的方法,可惜我对于string的原理还是不太懂 另外unique 和sort 可以处理string呢 嗯,解决了,但还可以优化哦
- 静态成员函数、this指针、对象指针和动态对象使用小结
- python-recsys:一款实现推荐系统的python库
- 初始化实例化
- UVA 562
- Java多线程(1)——基础
- android源码解析-异步消息
- dilated_conv
- To Java程序员:切勿用普通for循环遍历LinkedList
- 第一篇博客,记录下自己的感受