关闭

static的用途

标签: 函数实例class
104人阅读 评论(0) 收藏 举报
分类:

书上都说,static有三个特点:隐藏、只初始化一次和限于本文件范围使用,下面我开始分析一波,在类中的使用方式。为何在类中使用,因为static不受类实例化的约束,多个实例可以共享static变量和函数,那么作用还是显而易见的,下面请看代码:

class A {
    static float a;
    const static int b = 30;
public:
    static void print() {
        cout << "a= "<<a <<" b= "<<b<< endl;
    }
};
float A::a = 1.1;
const int A::b;

这里展现了static变量,const static和static函数的用法,所以大家要注意一下两点:
1)static成员变量只能在类中声明,不能进行初始化的,通俗来说就是赋值。但是可以在类外面进行定义,如:float A::a = 1.1;
2)const static成员变量比较特殊,可以在类中直接初始化,但也要在类外面进行声明,如:const int A::b;
3)static成员函数,如static void print() 只能使用static成员变量和函数,那么可以调用静态成员变量a和b了,至于普通成员变量,得用普通成员函数才可使用。普通成员函数可以访问任意成员变量和函数。

好了,今天的分析到这里了,欢迎大家关注。

0
0
查看评论

static有什么用途?(请至少说明两种)

1.限制变量的作用域(DL:使其只在定义的当前文件中起作用,static是只能由与变量在同一个文件中定义的程序 存取的全局变量。也就是说使全局变量成为文件的私有变量,以致其他文件不可以通过将它们定义为extern而存 取这些变量。),2.设置变量的存储域(DL:存储在最开始的静态存储空间里面)。
  • sunweixiang1002
  • sunweixiang1002
  • 2016-11-06 21:27
  • 145

[程序员面试题]C/C++中static的作用

面试题:static有什么作用? 答:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数  一、       定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:...
  • leo115
  • leo115
  • 2012-10-18 14:02
  • 14181

static的三个作用

static的三个作用:       这个简单的问题很少有人能回答完全。 在C语言中,关键字static有三个明显的作用:      1 在函数体,一个被声明为静态的变量在这一函数被调...
  • cjjwwss
  • cjjwwss
  • 2014-07-22 17:17
  • 657

static用途

static的用途:限制变量的作用域(隐藏):当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 如果加了static,就会对其他源文件隐藏;利用这一特性,就可以在不同的源文件中定义同名变量和函数而不用担心会发生命名冲突;  隐藏用途的例子: // a.c...
  • moli152_
  • moli152_
  • 2015-08-30 19:14
  • 260

简单介绍C语言中auto,register,static,const,volatile,extern等几个关键字的作用

C语言中auto,register,static,const,volatile,extern等几个关键字的作用
  • slience_J
  • slience_J
  • 2016-07-20 10:36
  • 385

C++中const,static,inline的用途

1、const的用途 const修饰变量、参数、返回值: 在C++中const修饰变量,变量会变成常量,所以声明的同时必须初始化。C++会对常量优化,将其放到寄存器中,如果想去内存中取值的话,使用volatile关键字修饰,保证内存可见性。而在C中const会将变量修饰为常变量,存储在静态...
  • lvyibin890
  • lvyibin890
  • 2017-09-18 11:06
  • 170

static的用途分析

转自http://www.cnblogs.com/dc10101/archive/2007/08/22/865556.html 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有...
  • f81892461
  • f81892461
  • 2013-01-13 15:33
  • 279

关键字static的用途

个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数...
  • nancysis
  • nancysis
  • 2017-07-14 14:41
  • 56

static的用途

(1)   函数内static变量的作用域为该函数体本身,不同于auto变量,该变量的内存只能分配一次,因此其值在下次调用时仍然保留上次的结果; (2)   模块内的static全局变量的作用域为该模块本身,不能被其他模块的函数访问; ...
  • jimmychao1982
  • jimmychao1982
  • 2014-07-28 15:14
  • 245

static的两种用途

static的用途如下: 1、限制变量的作用域 静态变量分为全局静态变量和局部静态变量,全局静态变量的作用域从该变量的定义开始到该文件结尾,全局静态变量对其他文件时不可见的,局部静态变量在只在定义该变量的函数中有效。 2、设置变量的存储域 静态变量存储于内存的静态存储区,静态存储区在程序的整...
  • liuronghust
  • liuronghust
  • 2012-03-19 20:12
  • 370
    个人资料
    • 访问:15671次
    • 积分:840
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:17篇
    • 译文:0篇
    • 评论:5条
    公告-未来计划
    opencv专栏已更新,持续中。。。
    博客专栏
    博主联系方式
      点击这里给我发消息
    文章分类
    最新评论