找论文网 > 计算机论文 > 计算机理论 >

对C++中指针的深入研究(2)

四、对象指针

设t是A类的一个对象,a和f( )分别是A的一个公有变量成员和公有函数成员,则:

1、t的指针常量为&t;

2、声明一个指向A类的对象的指针P的格式为:A*P;

3、使P指向t的方式为:用&t初始化P或者在声明了P后再向P赋值。

4、①用P而不用t来表示t. a的格式为:P->a;②用P而不用t来访问f( )的格式为:P-> f( );

五、类的数据成员指针

设t是A类的一个对象,a是A的一个非静态type型成员数据,s是A的一个静态type1型成员数据,则:

1、①A::a的相对指针常量为&A:: a;②A::s的物理指针常量为&A:: s

2、①可以指向A类的type型非静态成员的指针P1的声明格式为:type  A::*P1; ②可以指向A类type型静态成员的指针P2的声明格式为:type 1*p2;

3、①使P1指向A::a的方式为:用& A:: a初始化P1或在声明了P1后向P1赋值;②使P2指向A::s的方式为:用& A:: s初始化P2或在声明了P2后向P2赋值。

4、①用P1而不用a来访问t.a的格式为:t .* p1;②用P2而不用s来访问t.s的表达式为*P2

六、类的函数成员指针

设t是A类的一个对象,f(FL1)是A类的一个type型非静态的函数成员,g(FL2)是A类的一个type1型静态函数成员,则:

1、①A::f( )的相对指针常量为A::f;②A::g( )的物理指针常量为A::g

2、①可以指向A的非静态type型形参表为FL1的函数成员的指针P1的声明格式为type( A::*P1)(FL1);②可以指向A的静态type1型形参表为FL2的函数成员的指针P2的声明格式为:type1(*P2)(FL2)

3、①使P1指向A::f( )的方式是:用A::f初始化P1或在声明了P1后向P1赋值;②使P2指向A::g( )的方式是:用A::g初始化P2或者在声明了P2之后向P2赋值。

4、①用P1而不用f来访问t.f()的格式为:(t.*p1)(实参表);这里的“*”为指针说明符而不是指针运算符;②用P2而不用g()来访问t.g( )的格式为:P2(实参表);

七、指针的特点

1、数据指针+n=数据指针+(n×这个数据的字节数)(n=整数,n为小数不合法)。如:①设P为一个int型指针,则P+2=P的值+8(2×4);②设P1为一个有3行2列个int型变量元素的数组的指针,则P1+2=P1的值+2×24;③设A类有16个字节,P2是一个A类的指针,则P2+2=P2的值+2×16。

2、下面的表达式不合法:函数指针+n。

 参考文献

<1> 谭浩强,《C++程序设计教程》,中国科学技术出版社,1995

<2> Microsoft、何晓刚译,《Visual C++4.0教程》,科学出版社,1997。

<3> 刘卫东、沈官林译,《数据结构C++语言描述》,北京,清华大学出版社,2000

<4>邱龙、张巍,《C++语言入门》,北京,清华大学出版社,1999

共2页: 上一页 [1] 2


硬件描述语言HDL的现状与发展
计算机犯罪对策与研究
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图