第五周阅读程序3:对象指针小结
2015-04-08 08:43
363 查看
问题及代码:
知识点总结:
程序详解如注释。
(1)指向对象的指针
类名 *对象指针名 Time *p 可以通过对向指针访问对象和对象成员
如 *pt 指向对向
(*pt).hour 指向对象中的hour成员
pt->hour 指向对象中的hour成员
(*pt).get_time() 调用pt所指向的对象的成员函数
pt->get_time() 调用pt所指向的对象的成员函数
(2)指向对象数据成员的指针
数据类型名 * 指针变量名 void *pt;
(3)指向对象成员函数的指针
类型名 (*指针变量名)(参数列表) void *pt();
数据类型名(类名::*指针变量名)(参数列表) void (Time::*pt)(); 指向返回值为void型的Time类中公用成员函数的指针变量
指针变量名=&类名::成员函数名
<p> #include <iostream> using namespace std; class Time { public: Time(int,int,int); //构造函数 void output_time( ); int hour; int minute; int sec; };</p><p>Time::Time(int h,int m,int s) { hour=h; minute=m; sec=s; }</p><p>void Time::output_time( ) { cout<<hour<<":"; cout<<minute<<":" <<sec<<endl; }</p><p>int main( ) { Time t1(10,13,56); //利用构造函数赋值 int *p1=&t1.hour; //指向数据成员的指针 cout<<*p1<<endl; //p1指针指向的hour的地址,所以输出 10 t1.output_time( );</p><p> Time *p2=&t1; //指向对象的指针 p2->output_time( ); //p2指向整个对象,所以输出的是时分秒三个数值</p><p> void (Time::*p3)( ); //指向成员函数的指针 p3=&Time::output_time; //对成员杉树取地址。 (t1.*p3)( ); //说以 *p3() 相当于output_time() return 0; } </p> 运行结果:
知识点总结:
程序详解如注释。
(1)指向对象的指针
类名 *对象指针名 Time *p 可以通过对向指针访问对象和对象成员
如 *pt 指向对向
(*pt).hour 指向对象中的hour成员
pt->hour 指向对象中的hour成员
(*pt).get_time() 调用pt所指向的对象的成员函数
pt->get_time() 调用pt所指向的对象的成员函数
(2)指向对象数据成员的指针
数据类型名 * 指针变量名 void *pt;
(3)指向对象成员函数的指针
类型名 (*指针变量名)(参数列表) void *pt();
数据类型名(类名::*指针变量名)(参数列表) void (Time::*pt)(); 指向返回值为void型的Time类中公用成员函数的指针变量
指针变量名=&类名::成员函数名
相关文章推荐
- 第五周 阅读程序 在 main 函数中,可设置指向对象public 成员、对象函数还有对象的指针
- 第五周阅读程序1:用指针建立对象
- 第五周 程序阅读——指针(2)
- 第二学期第五周 关于指针的程序阅读1
- 第五周 阅读程序(1)--指针
- 第五周 程序阅读——指针(1)
- 第五周 程序阅读——指针(3)
- 第五周阅读程序2:数组操作对象
- 第2周 阅读程序-初识对象(一)
- 第五周 项目四:学生类(对象数组、初始化、指针)
- 改善C++ 程序的150个建议学习之建议34:用智能指针管理通过new创建的对象
- 第3周课后实践·阅读程序(2)-利用指针访问私有数据成员
- 《C++语言基础》程序阅读——初识对象
- 15第二周项目一——程序阅读——初见对象
- 第4周项目--程序阅读3对象是数组
- 第2周项目--初见对象程序阅读
- 第2周项目--初见对象程序阅读
- 第一周面向对象程序设计。。。。程序阅读题
- 第2周 阅读程序-初识对象(二)
- 第十五周项目2-程序阅读(对指针的理解2)