Say, I want to create a File class
class File{
public:
File(const char *file){
openFile(file);
}
~File();
isEmpty();
};
openFile checks if the file exists or if the contents of the file are valid or not.
File *file = new File("filepath");
if(file)
file->isEmpty();
if my filepath is correct, then all fine, file instance is proper and we can invoke file->isEmpty();
What is the file does not exist, in that case still the check if(file)
evaluates to true and will lead to creation of file instance which is actually invalid. How can i guarantee that if file path is invalid, the file instance should be null.