函数指针指向类的静态成员函数
来源:互联网 发布:正方形的风管知乎 编辑:程序博客网 时间:2024/06/08 20:03
转载:http://www.cnblogs.com/dongyanxia1000/p/4906592.html
1. 代码
1 #include<iostream> 2 #include<stdio.h> 3 using namespace std; 4 class Point 5 { 6 public: 7 Point(int x=0,int y=0):x(x),y(y) 8 { 9 count++;10 }11 Point(const Point &p):x(p.x),y(p.y)12 { 13 count++;14 }15 ~Point(){ count--;}16 int getx() const {return x;}17 int gety() const {return y;}18 static void showcount()19 { 20 cout<<"object count="<<count<<endl;21 }22 private:23 int x,y;24 static int count;25 };26 int Point::count=0; //静态数据成员定义和初始化,使用类名限定27 int main()28 { 29 void (* funcptr)()=Point::showcount; //定义一个函数指针,指向类的静态成员函数30 Point a(4,5);31 cout<<"Point A:"<<a.getx()<<","<<a.gety()<<endl;32 funcptr();33 Point b(a); //用类的一个对象做另一个对象的参数,调用复制构造函数34 cout<<"Point B:"<<b.getx()<<","<<b.gety()<<endl;35 funcptr();36 system("pause");37 return 0;38 }
2. 运行结果:
调用一次构造函数,count++,调用一次复制构造函数(拷贝构造函数),count++.
Note: count定义的是static类型的,值初始化一次,并保存后面改变后的值。
showcount()函数也是static类型的。
static全局变量与普通的全局变量的区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量的区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数的区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
阅读全文
0 0
- 函数指针指向类的静态成员函数
- 函数指针指向类的静态成员函数
- 指向 类成员函数 的 函数指针
- 指向非静态成员函数的函数指针
- 定义指向类成员函数和类静态成员函数的指针
- 指向类的成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- centos 6.5安装杀毒软件clamav
- 函数指针指向类的静态成员函数
- PHP函数实现JS语言中的charCodeAt().toString(16)
- 背包系统中的鼠标悬停显示物品信息
- Mac下安装VirtualBox并在VirtualBox中安装CentOS7
- 函数指针指向类的静态成员函数
- 【HDU
- Myeclipse 2017 安装与破解
- HDU 2054 A == B 【String 的骚操作 , string find 的应用】
- BZOJ 4397 Breed Counting
- 指针指向类的静态数据成员
- Maven命令的使用
- QT
- PYTHON基础笔记(3)