C++面向对象复习(四)——指针在面向对象中的应用
2010-05-13 18:08
274 查看
其实构造函数的重载无非就是实现定义几个函数,然后指定不同的参数,简单并没有体现在定义上,而是体现在使用上,只用调用一个函数名字,便可以实现不同的操作。
面向对象中的指针:
指向对象的指针;
Time *pt
Time t1;
Pt=&t1;
这里便是面向对象的指针中指向对象的指针的定义方法。
指向对象成员的指针
指向对象成员的指针 数据类型名 *指针变量名
例如:p1=&ti.hour cout<<*p1<<endl;
(2)指向成员函数的指针 数据类型名 *(指针变量名)(参数变量)
例如:void (*p)();//p是指向void类型的指针变量
可以使他指向一个函数并通过指针变量调用函数:
P=fun;//把函数的入口地址付给指针变量p,p就指向了函数fun
(*p)();//调用fun函数
(成员函数与普通函数的最大区别在于:它是类中的一个成员
编译系统在编译指针与函数的赋值时候,要求做到3方面的匹配:
函数参数类型和参数个数&&函数返回值&&所属的类
)
(3)定义指向公用成员函数的的指针变量一般格式为
数据类型名 (类名::*P)(参数列表)
Void(Time::*p3)();//定义指向Time类共用成员函数的指针变量
P3=&Time::get_time;//让指针p3指向Time类公用成员函数get_time
(上面两句可以合成一行:void(Time::*p3)()=&Time::get_time)
面向对象中的指针:
指向对象的指针;
Time *pt
Time t1;
Pt=&t1;
这里便是面向对象的指针中指向对象的指针的定义方法。
指向对象成员的指针
指向对象成员的指针 数据类型名 *指针变量名
例如:p1=&ti.hour cout<<*p1<<endl;
(2)指向成员函数的指针 数据类型名 *(指针变量名)(参数变量)
例如:void (*p)();//p是指向void类型的指针变量
可以使他指向一个函数并通过指针变量调用函数:
P=fun;//把函数的入口地址付给指针变量p,p就指向了函数fun
(*p)();//调用fun函数
(成员函数与普通函数的最大区别在于:它是类中的一个成员
编译系统在编译指针与函数的赋值时候,要求做到3方面的匹配:
函数参数类型和参数个数&&函数返回值&&所属的类
)
(3)定义指向公用成员函数的的指针变量一般格式为
数据类型名 (类名::*P)(参数列表)
Void(Time::*p3)();//定义指向Time类共用成员函数的指针变量
P3=&Time::get_time;//让指针p3指向Time类公用成员函数get_time
(上面两句可以合成一行:void(Time::*p3)()=&Time::get_time)
相关文章推荐
- C++面向对象复习(一)——构造函数
- 面向对象程序设计-复习C++
- 侯捷老师C++大系之C++面向对象开发:(一)不带指针的类:Complex复数类的实现过程
- C++面向对象复习(二)——析构函数
- c++中矩阵相乘(对象数组与对象指针的应用)
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- Unix/Linux C++应用开发-C++结构体非面向对象特性
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- C++面向对象复习(三)——构造函数与析构函数的调用顺序
- Unix/Linux C++应用开发-C++结构体面向对象特性
- c++ 普通全局变量与指针类型的对象变量 应用区别
- C++ 面向对象作业: I/O对象的应用
- C/C++指针,多态,函数参数,面向对象抽象
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- [转]解析C++普通局部变量与指针类型的对象变量的应用区别
- c++面向对象基础知识 Day 3
- C++ 面向对象学习1
- C++新特性(类与对象的各种指针和引用)
- [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用
- c++ 类的对象与指针