当前位置: 首页 > news >正文

免费建站分类信息网微信版网站开发

免费建站分类信息网,微信版网站开发,wordpress config.yaml,建购物网站的详细步骤转载#xff1a; http://www.groad.net/bbs/thread-5548-1-1.html 有一种特殊的指针叫做成员指针#xff0c;它们通常指向一个类的成员#xff0c;而不是对象中成员的特定实例。 成员指针并不是真正的指针#xff0c;它只是成员在对象中的偏移量#xff0c;它们分别是 http://www.groad.net/bbs/thread-5548-1-1.html 有一种特殊的指针叫做成员指针它们通常指向一个类的成员而不是对象中成员的特定实例。 成员指针并不是真正的指针它只是成员在对象中的偏移量它们分别是 .*和  -*。下面例子说明了成员指针 .* 的用法 #include stdafx.h #include iostream using namespace std; class myclass { public: int sum; void myclass::sum_it(int x); }; void myclass::sum_it(int x) { int i; sum 0; for (i x; i; i--) sum i; } int _tmain(int argc, _TCHAR* argv[]) { int myclass::*dp; //指向 myclass 中整数类型成员变量的指针 void (myclass::*fp)(int x); //指向 myclass 中成员函数的指针 myclass c; dp myclass::sum; //获得成员变量的地址 fp myclass::sum_it; //获得成员函数的地址 (c.*fp)(7); //计算 1 到 7 相加的和 cout summation of 7 is c.*dp; return 0; } 运行输出 summation of 7 is 28在上面程序中创建了两个成员指针 dp 和 fp 。其中 dp 指向了成员变量 sum fp 指向了函数 sum_it() 。 需要注意指针的声明语法在声明中使用了作用域解析运算符来指定指针指向的成员属于那个类。 当使用对象或对象引用来访问对象的成员时必须使用 .* 运算符如程序中的 c.*fp 和 c.*dp 这种用法。 如果使用指向对象的指针来访问对象的成员那么必须使用 -* 运算符如下程序示例#include stdafx.h#include iostreamusing namespace std;class myclass {public:int sum;void myclass::sum_it(int x);};void myclass::sum_it(int x){int i;sum 0;for (i x; i; i--) sum i;}int _tmain(int argc, _TCHAR* argv[]){int myclass::*dp; //指向 myclass 中整数类型成员变量的指针void (myclass::*fp)(int x); //指向 myclass 中成员函数的指针myclass *c, d; //变量 c 显示是指向对象的指针c d; //将对一个对象的地址赋给 cdp myclass::sum; //获得成员变量的地址fp myclass::sum_it; //获得成员函数的地址(c-*fp)(7); //计算 1 到 7 相加的和cout summation of 7 is c-*dp;return 0;}运行输出summation of 7 is 28上面程序中变量 c 是指向 myclass 类型对象的指针所以应该使用 -* 运算符来访问 sum 和 sum_it() 。 成员指针是为了处理特殊情况而设计在一般程序设计中通常不需要用到他们。
http://www.sadfv.cn/news/2434/

相关文章: