对C++中指向类的非静态成员的指针的认识
2015-01-15 22:41
106 查看
指针还可以指向类的非静态成员,也就是数据成员和函数成员。
1 指向数据成员的指针
声明形式:
数据类型*类名::成员指针名;
赋值形式:
成员指针名=&类名::成员数据名;
访问形式:
对象名.*成员指针名;
对象指针->*成员指针名;
2 指向函数成员的指针
声明形式:
数据类型(*类名::成员指针名)(形参列表);
赋值形式:
成员指针名=&类名::成员函数名;
访问形式:
(对象名.*成员指针名)(形参列表);
(对象指针->*成员指针名)(形参列表);
注意:当类的成员函数是常成员函数时,在声明成员指针时也要在声明的时候加上const关键字。
还有,由于在类的定义中成员没有确定的地址,因此成员指针中存储的其实是成员的相对位置,成员指针只是表明了它指向哪一个成员,因此访问它们的时候必须用对象名,这样,它们就可以计算出确定的地址了。
以上就是我对于指向类的非静态成员的指针的一些认
1 指向数据成员的指针
声明形式:
数据类型*类名::成员指针名;
赋值形式:
成员指针名=&类名::成员数据名;
访问形式:
对象名.*成员指针名;
对象指针->*成员指针名;
2 指向函数成员的指针
声明形式:
数据类型(*类名::成员指针名)(形参列表);
赋值形式:
成员指针名=&类名::成员函数名;
访问形式:
(对象名.*成员指针名)(形参列表);
(对象指针->*成员指针名)(形参列表);
注意:当类的成员函数是常成员函数时,在声明成员指针时也要在声明的时候加上const关键字。
还有,由于在类的定义中成员没有确定的地址,因此成员指针中存储的其实是成员的相对位置,成员指针只是表明了它指向哪一个成员,因此访问它们的时候必须用对象名,这样,它们就可以计算出确定的地址了。
以上就是我对于指向类的非静态成员的指针的一些认
相关文章推荐
- 对C++中指向类的非静态成员的指针的认识
- 对C++中指向类的静态成员的指针的认识
- [疑问]C/C++中为什么在类外利用多态基类指向派生类指针可以调用类的私有成员函数?
- C++指向类成员函数的指针
- C++ 指向成员的指针(数据成员指针,函数成员指针)
- C++指向类成员函数的指针
- C++中指向成员函数的指针
- 重学C++(2)——指向类成员的指针(转自:http://www.wangchao.net.cn/bbsdetail_73812.html)
- C++中指向成员函数的指针
- c++指向成员的指针(一)
- c++特性:指向类成员的指针和非类型类模板参数和函数指针返回值 参数推导机制和关联型别
- C++中 指向成员函数的指针
- C++对象指针—指向对象成员的指针
- C++ 指向类的成员的指针
- c++ 指向类的静态成员的指针
- C++中的回调函数——指向类成员的指针
- C++指向类成员函数的指针
- C++ 与“类”有关的注意事项总结(五):指向类成员的指针
- C++指向类成员函数的指针
- Thinking in C++: Pointers to members 指向成员的指针