参数 - 学习笔记

1)默认参数

非静态变量不能做默认参数,如下例:

 

  1. class A  
  2. {  
  3. public:  
  4.     void fun(int x = a);//OK  
  5.     //void fun2(int x = b);  //非静态变量不能做默认参数  
  6.     static int a;  
  7.     int b;  
  8. };  

 

静态数据类型是指非不确定变量类型,包括:const 、#define、全局类static、常量。

 

默认实参是在编译时期指定,非static成员在此时还没被初始化,所以不能,而静态成员是在编译时就能确定值了。

非静态数据类型在类构造前没有完成数据的绑定。只有用静态数据类型,这样在对象构造前就可以使用了。因为静态数据类型在类定义的时候就需要初始化了。

posted on 2012-07-22 18:31  在旅途  阅读(143)  评论(0)    收藏  举报

导航