こういう事がやりたいんじゃないの?

class CImage;
class CText;

class CFile {
public:
void load() {};
};

class CImageFile : public CFile {
public:
void load(string name, CImage *img) {/*...*/}
}
class CTextFile : public CFile {
public:
void load(string name, CText *img) {/*...*/}
}

CFile file;
CImage *img;
CText *txt;
file.load("filename1", img);
file.load("filename2", txt);