c++ 指向类的静态成员的指针
- 对类的静态成员的访问不依赖于对象
- 可以用普通的指针来指向和访问静态成员
using namespace std;
class point
{
public:
point(int xx=0, int yy=0)
{
X = xx;
Y = yy;
countP++;
}
point(point &p); //拷贝构造函数
int getX()
{
return X;
}
int getY()
{
return Y;
}
static int countP;
private:
int X, Y;
};
point::point(point &p)
{
X = p.X;
Y = p.Y;
countP++;
}
int point::countP=0; //静态数据成员定义性说明
{
//声明一个int型指针,指向类的静态成员
int *count = &point::countP;
point A(5, 6);
cout << "point A, " << A.getX() << " ," << A.getY() << endl;
//直接通过指针访问静态数据成员
cout << "object id = " << *count << endl;
point B(A); //声明对象B
cout << "point B, " << B.getX() << " ," << B.getY() << endl;
//直接通过指针访问静态数据成员
cout << "object id = " << *count << endl;
return 0;
}
using namespace std;
class Point
{
public:
static void getC() // <== 静态函数成员
{
cout << "object id = " << countP << endl;
}
Point(int x, int y)
{
X = x;
Y = y;
}
int getX()
{
return X;
}
int getY()
{
return Y;
}
Point(Point &p);
private:
int X, Y;
static int countP; // <== 静态成员变量,引用性说明
};
Point::Point(Point &p)
{
X = p.X;
Y = p.Y;
countP++;
}
int Point::countP = 0; // <== 静态数据成员定义性说明
int main()
{
void (*gc)() = Point::getC;
Point A(5, 8);
cout << "Point A, " << A.getX() << ", " << A.getY() << endl;
(*gc)(); // <=== 打印出来静态成员的值
Point B(A);
cout << "Point B, " << B.getX() << ", " << B.getY() << endl;
return 0;
}
c++ 指向类的静态成员的指针相关推荐
- 函数指针指向类的静态成员函数
转载:http://www.cnblogs.com/dongyanxia1000/p/4906592.html 1. 代码 1 #include<iostream> 2 #include& ...
- C++的静态成员函数指针
http://blog.csdn.net/sky453589103/article/details/47276789 先简单的说说非静态的成员函数. 非静态成员函数指针的类型: 类的非静态成员是和类的 ...
- C++静态成员函数指针
C++的静态成员函数指针 先简单的说说非静态的成员函数. 非静态成员函数指针的类型: 类的非静态成员是和类的对象相关的.也就是说,要通过类的对象来访问变量. 成员函数的类型定义为: typedef v ...
- 指向类成员/函数的指针
C++扩展了指针在类中的使用,使其可以指向类成员,这种行为是类层面的,而不是对象层面的. 指向类成员/函数的指针的本质并不是取地址.而是利用了对象地址的偏移量 我们创建了一个类,假设我们要使用指针指向 ...
- 类的成员函数指针和静态成员函数指针 调用成员函数***
C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...
- 指向类成员函数的指针(学自王桂林)
指向类成员函数的函数指针数组(实现更隐蔽的接口): 加减乘除: #include<iostream> using namespace std;class Widget {public:Wi ...
- 【C++】 指向类的指针 指向类的对象 对象指针 函数指针 引用
文章目录 C++类的对象和类的指针的区别 指向地址的指针 指针本身的大小 指向数组的指针 指针数组 指向指针数组的指针 多维指针数组 函数参数中使用指针 数组指针传址实现数组求和 函数指针 模仿C++ ...
- 恼人的函数指针(二)
原文链接:http://www.cnblogs.com/AnnieKim/archive/2011/12/04/2275589.html 前面曾写过一篇恼人的函数指针(一).总结了普通函数指针的声明. ...
- C++中类成员函数指针使用方法
1. 指向类非静态成员的函数指针 声明: 指向类的成员函数的指针需要在指针前面加上类的类型,格式为: typedef 返回值 (类名::*指针类型名)(参数列表); 赋值: 需要用类的成员函数地址赋值 ...
最新文章
- Ajax与企业级应用开发
- 3.7 PPP协议和HDLC协议
- 网工协议基础(3) IP地址
- 跨系统服务器data,跨服务器的数据整合方法及系统 Cross-server data integration method and system...
- EXCEL 绘制斜线表头
- Android Multimedia框架总结(七)C++中MediaPlayer的C/S架构补充及MediaService介绍
- 基于SIR模型的疫情预测 matlab
- matlab机器人画圆轨迹规划
- 同态滤波及matlab实现,怎样用MATLAB的图像处理功能进行同态滤波
- Maven第9篇:多环境构建
- solidworks启动慢的原因在这里
- Java根据纯真IP库获取具体的地址信息
- django框架使用pdf.js 使用说明
- 图数据库ONgDB Release v-1.0.0
- Pytorch的nn.Conv2d()参数详解
- IDEA实现单元测试
- c语言发牌器(斗地主)
- opengl 贴图教程_如何使用叶贴图可视化空气污染-深入教程
- java slf4j日志级别_SLF4J日志级别以及使用场景
- 基于百度AI平台的语音识别功能开发-SDK调用
热门文章
- 程序员吐槽_阿里程序员回老家被哥们吐槽,破IT就破IT,还阿里巴巴
- sqoop2 java api实现_Sqoop2 Java客户端API指南
- 深度优先遍历 java
- liferay 调用ajax
- 手机端网站底部悬浮 广告代码 代关闭_网站被劫持,网站被劫持了应该怎么办?怎么解决网站被劫持?...
- 【Nutch2.2.1基础教程之2.2】集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析
- scala不使用new关键字创建对象实例
- Spark创建DataFrame的三种方法
- Linux上的TIME_WAIT和tcp_fin_timeout
- 机器学习基础——实现基本的决策树