C++之类的静态变量

  本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。


  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

#include<stdio.h>
//初始化列表 提供了对成员变量初始化的方式
//Constructor
class M
{
private:
int mI;
public:
M(int i)
{
printf("M(int i),i=%dn",i);
mI=i;
}
int getI()
{
return mI;
}
 
};
 
class Test
{
private:
const int c; //类里面成员定义时变量不能初始化
M m1;
M m2;
public:
Test():c(1),m1(2),m2(3) //////////////////重要 初始化列表
{ /////const成员只能被初始化 不能被赋值
printf("Test()n"); ///构造函数体内叫赋值
}
 
void print()
{
printf("c=%d,m1.mI=%d,m2.mI=%dn",c,m1.getI(),m2.getI());
}
 
};
 
void run()
{
Test t1;
t1.print();
}
int main()
{
run();
printf("Press any key to continue...");
getchar();
return 0;
 
}


  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2025-01-31 05:43:55

C++之类的静态变量的相关文章

VB.NET局部静态变量介绍

经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.VB.NET能够实现很多C#不能做到的功能,如When语句.Optional参数.局部Static变量.对象实例访问静态方法.Handles绑定事件.On Error处理异常.Object直接后期绑定等等.VB和C#同属.NET的语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢.我们一起来探究一下VB.NET局部静态变量. VB.NET局部静态变量 VB支持用Stati

php中静态类与静态变量用法的区别分析

 static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了. 1. 创建对象$object = new Class(),然后使用"->"调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以,但是有前提条件. A. 如果是变量,需要该变量可访问. B. 如果是方法,除了

PHP引用操作以及外部操作函数的局部静态变量的方法

通过引用方式在外部操作函数或成员方法内部的静态变量 下面举个简单的例子,说明三个关于引用方面的问题: 1. 参数引用后函数内进行类型转换同样是地址操作 2. 参数引用后再传递给其他函数时需要再次添加引用符才能保持地址操作 3. 函数返回值引用必须在函数申明时以及调用时都添加引用操作符 该例子使用的是对象方法的操作,同样适用于函数 <?php class A { public function & test1(& $a) { static $i = 0; var_dump($i); $

asp.net中静态变量和非静态变量的区别

静态变量:静态变量使用 static 修饰符进行声明在所属类被装载时创建通过类进行访问所属类的所有实例的同一静态变量都是同一个值非静态变量:不带有 static 修饰符声明的变量称做非静态变量在类被实例化时创建通过对象进行访问同一个类的不同实例的同一非静态变量可以是不同的值示例: [复制到剪贴板]CODE: using System;using System.Collections.Generic;using System.Text;namespace Example01{    class P

JAVA静态变量

变量|静态 JAVA的静态变量相当于类字段,而不用理解为对象字段. --------------------------------------------------------------------------------Static Fields and MethodsIn all sample programs that you have seen, the main method is tagged with the static modifier. We are now ready

PHP static静态变量详解

PHP static静态变量 变量范围的另一个重要特性是静态变量(static variable).静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失.看看下面的例子: 例子 演示需要静态变量的例子 <?PHP     function Test()      {      $w3sky = 0;      echo $w3sky;      $w3sky++;      }      ?>  本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 &q

php实现全局静态变量类的一种实现方式

变量|静态 下面是一个全局静态变量类,类里面的函数都是静态函数, 注意里面的符号"&",他用来进行地址引用的.如果对引用方式不熟悉,请先参考php手册中的相关的章节. 另外本例是仿照php的pear类库中,pear.php中的静态全局error的方法实现的. <?class StatVar{  function &setInit(){    static $static = '';    return $static;  }  function set($key,

在.NET中使用静态变量来代替Application变量

application|变量|静态 wincheer|2002-3-1 --------------------------------------------------------------------------------     在传统的ASP程序中,我们总是使用Application对象来保存应用程序级的变量.这种方式比较耗费内存----看看那些空间供应商明目张胆的限制Application的数量就知道了.现在好了,我们有了.NET ,可以充分发挥静态变量的优点.一方面,可以作为应

asp.net中使用静态变量

asp.net|变量|静态 在asp.net中使用静态变量要比application更好的选择在传统的asp页面中,我们需要利用application变量传递一些特殊变量,在asp.net中任何页面都可以是类,Global.asax也不例外.我们只需要在Global.asax加入类名.  <%@ Application Classname="MyGlobals" %>然后我们定义几个静态变量.在vb.net中使用shared在C#中使用staticVB:<Script

php的静态变量和静态方法

静态变量也称为类变量,静态方法也称为类方法. 简单的说,静态变量就是所有对象都共享的变量.静态变量也称为类变量,静态方法也称为类方法. 如何定义静态变量 访问修饰符 static 变量名; 如何访问静态变量: (1)在类外部:类名::$类变量名 (2)在类内部:self::$类变量名或者::$类变量名 例:一群小孩在玩游戏,不时有新的小孩加入游戏.问:如何知道现在有多少小孩在玩游戏,用面向对象的思想来实现. 静态变量与变通变量的区别: (1)加上static称为静态变量或者类变量,否则称为实例变