C++的静态数据成员的使用
来源:互联网 发布:淘宝介入后还能评价吗 编辑:程序博客网 时间:2024/06/09 18:42
C++的静态数据成员的使用
最近做的是Xcode下面的C++开发程序,Xcode默认添加C++类的.h和.cpp文件,以前对C++学的一知半解,现在遇到问题了,在类中写静态数据成员,静态成员函数不用说,很简单。在.h文件中声明一个静态函数,例如
static void printString();
然后在.cpp文件中写相应的实现方法
void StaticData::printString()
{
printf("printString ... ");
}
这样就实现了静态函数的功能,当在类外面调用的时候,既可以通过对象调用,又可以通过类名直接调用,例如
StaticData *data = new StaticData();
data->printString();
StaticData::printString();
看见了吧,很简单的,我就不多说了,下面说说静态数据成员吧。
静态数据成员首先在.h文件中声明,如下
static int data;
然后需要在.cpp文件中实现赋值,注意不是在.cpp文件中的某个函数中,而是.cpp文件中声明,如下
int StaticData::data = 0;
这样这个静态数据成员才可以使用,还有一种是const static类型的数据,这种数据可以在.h文件中直接声明并赋值
static const int finalData = 100;
好了,静态数据成员就介绍到这里,下面贴出我写的一个简单的不能再简单的小例子。
//// StaticData.h// CPlusTest//// Created by 江南岸 on 13-3-26.// Copyright (c) 2013年 ZhangQu. All rights reserved.//#ifndef __CPlusTest__StaticData__#define __CPlusTest__StaticData__#include <iostream>class StaticData{public: //静态数据成员 static int data; //const static类型可以直接在.h文件中声明并赋值,注意这种变量的数值不能改啊 static const int finalData = 100; //成员函数 void printData(); //静态成员函数 static void printString(); };#endif /* defined(__CPlusTest__StaticData__) */
//// StaticData.cpp// CPlusTest//// Created by 江南岸 on 13-3-26.// Copyright (c) 2013年 ZhangQu. All rights reserved.//#include "StaticData.h"//实现静态成员函数int StaticData::data = 0;//普通成员函数实现void StaticData::printData(){ printf("this data is %d %d",data,finalData);}//静态成员函数的实现,和普通成员函数实现没有区别void StaticData::printString(){ printf("printString ... ");}
//// main.cpp// CPlusTest//// Created by 江南岸 on 13-3-26.// Copyright (c) 2013年 ZhangQu. All rights reserved.//#include <iostream>#include "StaticData.h"int main(int argc, const char * argv[]){ StaticData *data = new StaticData(); //两种调用静态成员函数的方法 data->printString(); StaticData::printString(); //两种调用静态数据成员的方法 data->data = 10; StaticData::data = 100; return 0;}
- 【C++】类的静态数据成员
- Objective-C类的静态数据成员
- C++的静态数据成员的使用
- static静态数据成员的使用
- 练习静态数据成员的使用
- c语言中静态成员的使用
- 静态成员(静态成员函数,静态数据成员)的特性
- 静态成员的使用
- 静态成员的使用
- 静态成员的使用
- 【C++】类的静态常量数据成员! static const
- C++的静态数据成员
- 静态数据成员的理解
- 静态数据成员的例题
- 类的静态数据成员
- 类的静态数据成员
- 静态数据成员的应用
- 类的静态数据成员
- 获取UUID
- 泛型之Java学习总结
- j2me TitleLayer
- 设计模式
- Lambda表达式
- C++的静态数据成员的使用
- nginx 404
- 《设计模式》笔记:Singleton设计难点
- linux下Vi命令大全
- 追MM与设计模式
- stm32 usbHID调试小结
- Java设计模式
- Android NDK编译之undefined reference to 'JNI_CreateJavaVM'
- oracle之date 查询性能优化