求教!关于类,解决思路

求教!关于类,
我在一本书里看到这样字段:
ifstream f1(".../file.txt");
if(!f1){...}
是打开文件,并判断是否成功,我不想问这个,
我想问ifstream是一个类对吧?那f1就是一个对象吧?可是后边if(!f1)是什么意思?f1本身是个什么?是bool值(或者说int)?怎么给f1赋值?怎样指定f1的类型?...
我好乱啊……
我好笨啊……
莫笑我啊……
谢谢大家……



------解决方案--------------------
这个f1应该还接收了打开文件的返回值吧,就像MFC里面:
CString str("abc");
就相当于str="abc";
个人理解。
PS:楼主的头像真强大。。。
------解决方案--------------------
看看ifstream是否重载了运算符!