[C++] fstream 中的! operator …

雖然已經學過,但是重新複習的時候,突然覺得fstream file ; if(!file) … 很神奇!就手癢做一個簡單版的。

http://gist.github.com/95100


/* Usage: To implement a object as fstream with operator ! and open()
* Author: Allen (allen501pc@hotmail.com)
* Date: 04/14/2009
* Output:
* object has been opened!
*/

#include <iostream>
using namespace std;
class object
{
private:
bool isset;
bool notopen;
public:
object()
{
isset=false;
notopen=true; /* Set it is not opened! */
}
bool operator!(); /* ! operator for checking open or not */
void open()
{
notopen=false; /* set it is opened */
}
};
/* operator ! for checking that opened or not
* if open, return false
* Or, return true
*/
bool object::operator!()
{
return this->notopen;
}

int main(int argc,char * argv[])
{
object ob; /* take class object as ob */
ob.open(); /* open */
if(!ob)
{
cout << "object has not been opened! " << endl;
}
else
cout << "object has been opened! " << endl;
return 0;
}
This entry was posted in C/C++, 程式設計. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *