摘要:
java和C#语言里类变量初始化的顺序是1 类成员变量初始化先于类的构造函数2 静态成员变量先于实例变量3 父类成员变量先于子类成员变量 C#相反4 父类构造函数先于子类构造函数 举一个java的例子:class Base{ public static Test a=new Test("a"); public static Test b; public Test c=new Test("c"); public Test d; static { b=new Test("b"); } public Base() { d=new Test( 阅读全文
摘要:
写这个问题是受微软今年实习生招聘的一道笔试题启发,上一篇博客好像提到了。之前还真没细想过这些事情。 首先把需要初始化的成员变量分为几类:一般变量(int)静态成员变量(static int)常量(const int )静态常量(static const int) 对应的初始化方式是:一般变量可以在初始化列表里或者构造函数里初始化,不能直接初始化或者类外初始化静态成员变量必须在类外初始化常量必须在初始化列表里初始化静态常量必须只能在定义的时候初始化 举一个简单的例子#include <iostream>#include <string>using namespace st 阅读全文