首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一个C++作用域的有关问题

2012-03-28 
请教一个C++作用域的问题代码如下:typedef unsigned char DECclass TestClass {public:DEC aint DEC_T(

请教一个C++作用域的问题
代码如下: 
typedef unsigned char DEC; 
  
class TestClass { 
  public: 
DEC a; 
int DEC_T( void ){ return sizeof( DEC ); } 
  private: 
typedef unsigned long DEC; 
  
}; 
  
int main( int argc , char *argv[] ) 

TestClass tt; 
cout << "DEC Size is " << tt.DEC_T() << endl; 
while(1){} 
return 0; 

我想知道在类中的DEF使用哪个? 
本程序的输出结果是4。说明用的是类中定义的。 
但是如果去掉上面的那句typedef unsigned char DEC;会报错,如果去掉下面的typedef unsigned char DEC;不会报错,但是会输出结果会变为1. 
这是怎么回事?

[解决办法]
定义类的时候,到DEC的时候就用了外面的那个进行定义了,因为这个时候自己的DEC还没有定义,但是运行的时候又被自己的DEC代替了,这个时候自己的DEC定义了?

热点排行