静态函数和静态成员
来源:互联网 发布:php获取qq信息 编辑:程序博客网 时间:2024/05/17 19:20
静态成员:
声明: static 类型 变量名;
作用域:所在类,不属于任何一个类对象。
存在意义:提供一种“全局”变量机制;
访问方法:如果是public:在类外通过对象或者通过类名;如果是private:需要通过类的共有函数或者静态成员函数调用;
赋值定义:必须赋初值,赋初值只能在类外(不论是private,public都可以)格式为 类型 类名::静态成员变量=初值;如果不赋初值造成的后果就是链接
不成功,究其原因就是不赋初值意味着只是纯粹的声明没有定义,就如同一个函数只要头文件,但是没有函数体一样。
静态函数:
声明:static 返回值 函数名 参数列表;
作用域:所在类,不属于任何一个类对象;
访问方法:同static成员;
存在意义:调用静态成员,实现数据的封装;当然非静态成员函数也可以调用静态成员,只是使用非静态成员函数的话前提就是需要创建一个对象;再是可以
作为回调函数存在,因为静态成员函数如果是public的则就是全局的。(欢迎各位留言说明静态函数存在的意义)
参考类定义
#include <iostream>
using namespace std;
class static_demo
{
public:
static_demo(int init);
private:
static int private_a;
public:
static int public_a;
public:
int a;
static void setPrivateStaticValue(int value);
int getPrivateStaticValue();
};
void static_demo::setPrivateStaticValue(int value)
{
private_a = value;
}
int static_demo::getPrivateStaticValue()
{
return private_a;
}
static_demo::static_demo(int init)
{
private_a = init;
}
int static_demo::public_a = 100;
int static_demo::private_a = 10000;
int main()
{
cout<<"static public_a "<<static_demo::public_a<<endl;
static_demo static_instance(1000);
static_instance.setPrivateStaticValue(10);
cout<<"static_instance.private_a"<<static_instance.getPrivateStaticValue()<<endl;
cout<<"publi_instance.public_a"<<static_instance.public_a<<endl;
return 0;
}
- 静态函数和静态成员
- 静态成员变量和静态成员函数
- 静态成员和静态成员函数
- 静态成员和静态成员函数
- 静态数据成员和静态成员函数
- 静态数据成员和静态成员函数
- 静态成员函数和静态成员变量
- 静态成员变量 和 静态成员函数
- 静态成员和静态成员函数
- 静态成员变量和静态成员函数
- 静态成员变量和静态成员函数
- 静态成员数据和静态成员函数
- 静态数据成员和静态成员函数
- 静态数据成员和静态成员函数
- 静态数据成员和静态成员函数
- 静态成员函数和静态成员
- 静态成员函数和静态成员方法
- 静态成员变量和静态成员函数
- D3D11教程三十之ProjectiveTexturing(投影纹理)
- Python中的 __all__和__path__ 解析
- HDU 4135:Co-prime (容斥原理)
- 怎么参与到百度的开源项目中来
- PHP中关于composer那点事
- 静态函数和静态成员
- VS下用C++实现的简单3D射击游戏(附游戏文件与源工程代码)
- 校验码(奇偶码、海明码和循环冗余码)图片版
- LeetCode 319. Bulb Switcher 题解(C++)
- 机器学习算法之朴素贝叶斯算法
- 面向对象编程当对象作为形式参数传递时!!!
- Android当中的动画1—Drawable动画
- Android图片加载框架Glide用法
- Handler的基本使用