C语言强制转换与内存

2014-11-23 22:25:42 · 作者: · 浏览: 6

看下面这个类Fun ,其中包括了构造函数和类型强制转换函数。

 
 
1. #include  
2. #include  
3. #include "fun.h" 
4. using namespace std; 
5. int main() 
6. { 
7. Fun f; 
8. cout << f << endl;//输出5 
9. printf("%d\n", f);//输出3
 10. printf("$d\n", (int)f);//输出5 11. return 0; }
	不难看出,<<的调用将第二个参数强制转换为int,但是printf的%d只是读取了后面参数的前32位,解析成为int。如果需要用printf并且调用类的强制转换方法,需要显式的将对象进行类型的强制转换。