码迷,mamicode.com
首页 > 其他好文 > 详细

指向类成员函数的指针

时间:2016-07-11 21:05:54      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

 

//类中的普通成员变量,类名::变量名,在栈上

//类名 *指针名=new 类名,在堆上

//类的静态成员变量,在静态区

//函数都在代码区,类的函数、静态函数都是共享的

 

void(myclass::*p1)() = myclass::run;//指向类成员函数的指针

void(*p2)() = myclass::go;//指向静态成员函数的指针

 

 1 #include <iostream>
 2 
 3 class myclass
 4 {
 5 public:
 6     int num;
 7     int data;
 8     int *p;
 9 
10     //error C2789: “myclass::coint”: 必须初始化常量限定类型的对象
11     const int coint;//常量数据成员
12 
13                     //error C2530: “myclass::myint”: 必须初始化引用
14     int & myint;//引用
15 
16     static int shu;//静态数据成员
17 public:
18     static void go()//静态成员函数
19     {
20 
21     }
22     void run()
23     {
24 
25     }
26     myclass(int, int);//构造函数,常量限定类型的对象、引用必须重载构造函数初始化
27     ~myclass()
28     {
29 
30     }
31 };
32 
33 int myclass::shu = 0;//初始化静态数据成员
34 
35 myclass::myclass(int a, int b) :myint(a), coint(b)//构造函数
36 {
37 
38 }
39 
40 //类中的普通成员变量,类名::变量名,在栈上
41 //类名 *指针名=new 类名,在堆上
42 //类的静态成员变量,在静态区
43 //函数都在代码区,类的函数、静态函数都是共享的
44 
45 void main()
46 {
47     myclass myclass1(10, 9);//初始化一个对象
48 
49     void(myclass::*p1)() = myclass::run;//指向类成员函数的指针
50 
51     void(*p2)() = myclass::go;//指向静态成员函数的指针
52 
53     system("pause");
54 }

 

指向类成员函数的指针

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5661436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!